Commit 83be4bee authored by Yazen Ghannam's avatar Yazen Ghannam Committed by Borislav Petkov (AMD)
Browse files

ACPI: PRM: Add acpi_prm_handler_available()



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: default avatarYazen Ghannam <yazen.ghannam@amd.com>
Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: default avatar"Mario Limonciello (AMD)" <superm1@kernel.org>
Acked-by: default avatar"Rafael J. Wysocki (Intel)" <rafael@kernel.org>
Link: https://patch.msgid.link/all/20251017-wip-atl-prm-v2-1-7ab1df4a5fbc@amd.com
parent 6553c68b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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
+2 −0
Original line number Diff line number Diff line
@@ -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;