1 #ifndef __QCOM_RPROC_H__ 1 #ifndef __QCOM_RPROC_H__ 2 #define __QCOM_RPROC_H__ 2 #define __QCOM_RPROC_H__ 3 3 4 struct notifier_block; 4 struct notifier_block; 5 5 6 /** 6 /** 7 * enum qcom_ssr_notify_type - Startup/Shutdow 7 * enum qcom_ssr_notify_type - Startup/Shutdown events related to a remoteproc 8 * processor. 8 * processor. 9 * 9 * 10 * @QCOM_SSR_BEFORE_POWERUP: Remoteproc abo 10 * @QCOM_SSR_BEFORE_POWERUP: Remoteproc about to start (prepare stage) 11 * @QCOM_SSR_AFTER_POWERUP: Remoteproc is 11 * @QCOM_SSR_AFTER_POWERUP: Remoteproc is running (start stage) 12 * @QCOM_SSR_BEFORE_SHUTDOWN: Remoteproc cra 12 * @QCOM_SSR_BEFORE_SHUTDOWN: Remoteproc crashed or shutting down (stop stage) 13 * @QCOM_SSR_AFTER_SHUTDOWN: Remoteproc is 13 * @QCOM_SSR_AFTER_SHUTDOWN: Remoteproc is down (unprepare stage) 14 */ 14 */ 15 enum qcom_ssr_notify_type { 15 enum qcom_ssr_notify_type { 16 QCOM_SSR_BEFORE_POWERUP, 16 QCOM_SSR_BEFORE_POWERUP, 17 QCOM_SSR_AFTER_POWERUP, 17 QCOM_SSR_AFTER_POWERUP, 18 QCOM_SSR_BEFORE_SHUTDOWN, 18 QCOM_SSR_BEFORE_SHUTDOWN, 19 QCOM_SSR_AFTER_SHUTDOWN, 19 QCOM_SSR_AFTER_SHUTDOWN, 20 }; 20 }; 21 21 22 struct qcom_ssr_notify_data { 22 struct qcom_ssr_notify_data { 23 const char *name; 23 const char *name; 24 bool crashed; 24 bool crashed; 25 }; 25 }; 26 26 27 #if IS_ENABLED(CONFIG_QCOM_RPROC_COMMON) 27 #if IS_ENABLED(CONFIG_QCOM_RPROC_COMMON) 28 28 29 void *qcom_register_ssr_notifier(const char *n 29 void *qcom_register_ssr_notifier(const char *name, struct notifier_block *nb); 30 int qcom_unregister_ssr_notifier(void *notify, 30 int qcom_unregister_ssr_notifier(void *notify, struct notifier_block *nb); 31 31 32 #else 32 #else 33 33 34 static inline void *qcom_register_ssr_notifier 34 static inline void *qcom_register_ssr_notifier(const char *name, 35 35 struct notifier_block *nb) 36 { 36 { 37 return NULL; 37 return NULL; 38 } 38 } 39 39 40 static inline int qcom_unregister_ssr_notifier 40 static inline int qcom_unregister_ssr_notifier(void *notify, 41 41 struct notifier_block *nb) 42 { 42 { 43 return 0; 43 return 0; 44 } 44 } 45 45 46 #endif 46 #endif 47 47 48 #endif 48 #endif 49 49
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.