linux-stable/include/linux/remoteproc/qcom_rproc.h
Alex Elder 9941222116 remoteproc: qcom: expose types for COMPILE_TEST
Stub functions are defined for SSR notifier registration in case
QCOM_RPROC_COMMON is not configured.  As a result, code that uses
these functions can link successfully even if the common remoteproc
code is not built.

Code that registers an SSR notifier function likely needs the
types defined in "qcom_rproc.h", but those are only exposed if
QCOM_RPROC_COMMON is enabled.

Rearrange the conditional definition so the qcom_ssr_notify_data
structure and qcom_ssr_notify_type enumerated type are defined
whether or not QCOM_RPROC_COMMON is enabled.

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-01-09 13:51:36 -08:00

48 lines
1.1 KiB
C

#ifndef __QCOM_RPROC_H__
#define __QCOM_RPROC_H__
struct notifier_block;
/**
* enum qcom_ssr_notify_type - Startup/Shutdown events related to a remoteproc
* processor.
*
* @QCOM_SSR_BEFORE_POWERUP: Remoteproc about to start (prepare stage)
* @QCOM_SSR_AFTER_POWERUP: Remoteproc is running (start stage)
* @QCOM_SSR_BEFORE_SHUTDOWN: Remoteproc crashed or shutting down (stop stage)
* @QCOM_SSR_AFTER_SHUTDOWN: Remoteproc is down (unprepare stage)
*/
enum qcom_ssr_notify_type {
QCOM_SSR_BEFORE_POWERUP,
QCOM_SSR_AFTER_POWERUP,
QCOM_SSR_BEFORE_SHUTDOWN,
QCOM_SSR_AFTER_SHUTDOWN,
};
struct qcom_ssr_notify_data {
const char *name;
bool crashed;
};
#if IS_ENABLED(CONFIG_QCOM_RPROC_COMMON)
void *qcom_register_ssr_notifier(const char *name, struct notifier_block *nb);
int qcom_unregister_ssr_notifier(void *notify, struct notifier_block *nb);
#else
static inline void *qcom_register_ssr_notifier(const char *name,
struct notifier_block *nb)
{
return NULL;
}
static inline int qcom_unregister_ssr_notifier(void *notify,
struct notifier_block *nb)
{
return 0;
}
#endif
#endif