~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/firmware/xlnx-event-manager.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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 
 22 typedef void (*event_cb_func_t)(const u32 *payload, void *data);
 23 
 24 #if IS_REACHABLE(CONFIG_XLNX_EVENT_MANAGER)
 25 int 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 
 29 int 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
 32 static 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 
 39 static 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_ */
 47 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php