Merge tag 'io_uring-6.3-2023-03-03' of git://git.kernel.dk/linux
[linux-block.git] / include / linux / remoteproc / qcom_rproc.h
CommitLineData
1e140df0
BA
1#ifndef __QCOM_RPROC_H__
2#define __QCOM_RPROC_H__
3
4struct notifier_block;
5
62495d77
RB
6/**
7 * enum qcom_ssr_notify_type - Startup/Shutdown events related to a remoteproc
8 * processor.
9 *
10 * @QCOM_SSR_BEFORE_POWERUP: Remoteproc about to start (prepare stage)
11 * @QCOM_SSR_AFTER_POWERUP: Remoteproc is running (start stage)
12 * @QCOM_SSR_BEFORE_SHUTDOWN: Remoteproc crashed or shutting down (stop stage)
13 * @QCOM_SSR_AFTER_SHUTDOWN: Remoteproc is down (unprepare stage)
14 */
15enum qcom_ssr_notify_type {
16 QCOM_SSR_BEFORE_POWERUP,
17 QCOM_SSR_AFTER_POWERUP,
18 QCOM_SSR_BEFORE_SHUTDOWN,
19 QCOM_SSR_AFTER_SHUTDOWN,
20};
21
5abfe5cf
RB
22struct qcom_ssr_notify_data {
23 const char *name;
24 bool crashed;
25};
26
99412221
AE
27#if IS_ENABLED(CONFIG_QCOM_RPROC_COMMON)
28
5abfe5cf
RB
29void *qcom_register_ssr_notifier(const char *name, struct notifier_block *nb);
30int qcom_unregister_ssr_notifier(void *notify, struct notifier_block *nb);
1e140df0
BA
31
32#else
33
5abfe5cf
RB
34static inline void *qcom_register_ssr_notifier(const char *name,
35 struct notifier_block *nb)
1e140df0 36{
5abfe5cf 37 return NULL;
1e140df0
BA
38}
39
5abfe5cf
RB
40static inline int qcom_unregister_ssr_notifier(void *notify,
41 struct notifier_block *nb)
42{
43 return 0;
44}
1e140df0
BA
45
46#endif
47
48#endif