mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-22 08:49:45 +00:00
![Alex Elder](/assets/img/avatar_default.png)
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>
48 lines
1.1 KiB
C
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
|