Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.14-rc3 46 lines 1.4 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Xilinx Event Management Driver 4 * 5 * Copyright (C) 2024, Advanced Micro Devices, Inc. 6 */ 7 8#ifndef _FIRMWARE_XLNX_EVENT_MANAGER_H_ 9#define _FIRMWARE_XLNX_EVENT_MANAGER_H_ 10 11#include <linux/firmware/xlnx-zynqmp.h> 12 13#define CB_MAX_PAYLOAD_SIZE (4U) /*In payload maximum 32bytes */ 14 15#define EVENT_SUBSYSTEM_RESTART (4U) 16 17#define PM_DEV_ACPU_0_0 (0x1810c0afU) 18#define PM_DEV_ACPU_0 (0x1810c003U) 19 20/************************** Exported Function *****************************/ 21 22typedef void (*event_cb_func_t)(const u32 *payload, void *data); 23 24#if IS_REACHABLE(CONFIG_XLNX_EVENT_MANAGER) 25int xlnx_register_event(const enum pm_api_cb_id cb_type, const u32 node_id, 26 const u32 event, const bool wake, 27 event_cb_func_t cb_fun, void *data); 28 29int xlnx_unregister_event(const enum pm_api_cb_id cb_type, const u32 node_id, 30 const u32 event, event_cb_func_t cb_fun, void *data); 31#else 32static inline int xlnx_register_event(const enum pm_api_cb_id cb_type, const u32 node_id, 33 const u32 event, const bool wake, 34 event_cb_func_t cb_fun, void *data) 35{ 36 return -ENODEV; 37} 38 39static inline int xlnx_unregister_event(const enum pm_api_cb_id cb_type, const u32 node_id, 40 const u32 event, event_cb_func_t cb_fun, void *data) 41{ 42 return -ENODEV; 43} 44#endif 45 46#endif /* _FIRMWARE_XLNX_EVENT_MANAGER_H_ */