From: Xiongfeng Wang <wangxiongfeng2(a)huawei.com>
commit ac271e1a6b2498fcfebd3a56e00993727da6008a openEuler-1.0.
NMI Watchdog need to enable the event for each core individually. But the
existing public api 'sdei_event_enable' enable events for all cores when
the event type is private.
Signed-off-by: Xiongfeng Wang <wangxiongfeng2(a)huawei.com>
Reviewed-by: Kefeng Wang <wangkefeng.wang(a)huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang(a)huawei.com>
Signed-off-by: Xin Hao <haoxing990(a)gmail.com>
---
drivers/firmware/arm_sdei.c | 4 ++--
include/linux/arm_sdei.h | 2 ++
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/firmware/arm_sdei.c b/drivers/firmware/arm_sdei.c
index c196142cb0eb..64c5278b35bf 100644
--- a/drivers/firmware/arm_sdei.c
+++ b/drivers/firmware/arm_sdei.c
@@ -390,7 +390,7 @@ static int sdei_platform_reset(void)
return err;
}
-static int sdei_api_event_enable(u32 event_num)
+int sdei_api_event_enable(u32 event_num)
{
return invoke_sdei_fn(SDEI_1_0_FN_SDEI_EVENT_ENABLE, event_num, 0, 0, 0,
0, NULL);
@@ -435,7 +435,7 @@ int sdei_event_enable(u32 event_num)
}
EXPORT_SYMBOL(sdei_event_enable);
-static int sdei_api_event_disable(u32 event_num)
+int sdei_api_event_disable(u32 event_num)
{
return invoke_sdei_fn(SDEI_1_0_FN_SDEI_EVENT_DISABLE, event_num, 0, 0,
0, 0, NULL);
diff --git a/include/linux/arm_sdei.h b/include/linux/arm_sdei.h
index d8b4e8d2520f..befebeba84f1 100644
--- a/include/linux/arm_sdei.h
+++ b/include/linux/arm_sdei.h
@@ -43,6 +43,8 @@ int sdei_event_unregister(u32 event_num);
int sdei_event_enable(u32 event_num);
int sdei_event_disable(u32 event_num);
int sdei_api_event_interrupt_bind(int hwirq);
+int sdei_api_event_disable(u32 event_num);
+int sdei_api_event_enable(u32 event_num);
/* GHES register/unregister helpers */
int sdei_register_ghes(struct ghes *ghes, sdei_event_callback *normal_cb,
--
2.31.0