summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorKiryl Shutsemau (Meta) <kas@kernel.org>2026-06-29 16:07:15 +0100
committerWill Deacon <will@kernel.org>2026-08-02 09:21:05 +0000
commit5686f2bed02d98d03e3f38f4b5569804510fba31 (patch)
treef51469d41d58257ce86dc9b4dd85f605185b6dc3 /include/linux
parenta13c140cc289c0b7b3770bce5b3ad42ab35074aa (diff)
firmware: arm_sdei: add sdei_is_present()
invoke_sdei_fn() returns -EIO when no SDEI conduit was probed, and the core warns ("Failed to create event ...") on any registration that hits that. An optional consumer that registers an event from an unconditional initcall would therefore make every boot on a non-SDEI system emit that warning for what is simply absent firmware. Expose whether SDEI firmware is present so such a consumer can skip registration -- and the warning -- when there is nothing to talk to. Signed-off-by: Kiryl Shutsemau (Meta) <kas@kernel.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Tested-by: Yin Fengwei <fengwei_yin@linux.alibaba.com> Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/arm_sdei.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/arm_sdei.h b/include/linux/arm_sdei.h
index f652a5028b59..b07113eeeff7 100644
--- a/include/linux/arm_sdei.h
+++ b/include/linux/arm_sdei.h
@@ -37,6 +37,9 @@ int sdei_event_unregister(u32 event_num);
int sdei_event_enable(u32 event_num);
int sdei_event_disable(u32 event_num);
+/* Was SDEI firmware probed and usable? */
+bool sdei_is_present(void);
+
/* GHES register/unregister helpers */
int sdei_register_ghes(struct ghes *ghes, sdei_event_callback *normal_cb,
sdei_event_callback *critical_cb);