]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ACPI: PRM: Add acpi_prm_handler_available()
authorYazen Ghannam <yazen.ghannam@amd.com>
Fri, 17 Oct 2025 13:26:28 +0000 (13:26 +0000)
committerBorislav Petkov (AMD) <bp@alien8.de>
Mon, 27 Oct 2025 14:45:22 +0000 (15:45 +0100)
Add a helper function to check if a PRM handler/module is present.

This can be used during init time by code that depends on a particular
handler. If the handler is not present, then the code does not need to
be loaded.

Signed-off-by: Yazen Ghannam <yazen.ghannam@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: "Mario Limonciello (AMD)" <superm1@kernel.org>
Acked-by: "Rafael J. Wysocki (Intel)" <rafael@kernel.org>
Link: https://patch.msgid.link/all/20251017-wip-atl-prm-v2-1-7ab1df4a5fbc@amd.com
drivers/acpi/prmt.c
include/linux/prmt.h

index 6792d4385eee48306ce72093e190adadfa9e5a62..7b8b5d2015ec6045742f200f9e2b72045b98e329 100644 (file)
@@ -244,6 +244,12 @@ static struct prm_handler_info *find_prm_handler(const guid_t *guid)
        return (struct prm_handler_info *) find_guid_info(guid, GET_HANDLER);
 }
 
+bool acpi_prm_handler_available(const guid_t *guid)
+{
+       return find_prm_handler(guid) && find_prm_module(guid);
+}
+EXPORT_SYMBOL_GPL(acpi_prm_handler_available);
+
 /* In-coming PRM commands */
 
 #define PRM_CMD_RUN_SERVICE            0
index c53ab287e932008c698b9b800166bc66189aabcd..8cdc987de963f8dd62c18004e6c1a6959c904cf9 100644 (file)
@@ -4,9 +4,11 @@
 
 #ifdef CONFIG_ACPI_PRMT
 void init_prmt(void);
+bool acpi_prm_handler_available(const guid_t *handler_guid);
 int acpi_call_prm_handler(guid_t handler_guid, void *param_buffer);
 #else
 static inline void init_prmt(void) { }
+static inline bool acpi_prm_handler_available(const guid_t *handler_guid) { return false; }
 static inline int acpi_call_prm_handler(guid_t handler_guid, void *param_buffer)
 {
        return -EOPNOTSUPP;