[PATCH v3 3/7] acpi: add acpi_of_match_device_ids

From: Markus Probst via B4 Relay

Date: Fri Mar 13 2026 - 15:06:07 EST


From: Markus Probst <markus.probst@xxxxxxxxx>

Add a function to match acpi devices against of_device_ids. This will be
used in the following commit ("mfd: match acpi devices against PRP0001")
to match mfd sub-devices against a of compatible string.

Signed-off-by: Markus Probst <markus.probst@xxxxxxxxx>
---
drivers/acpi/bus.c | 7 +++++++
include/acpi/acpi_bus.h | 2 ++
2 files changed, 9 insertions(+)

diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index f6707325f582..5ddcc56edc87 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -1044,6 +1044,13 @@ int acpi_match_device_ids(struct acpi_device *device,
}
EXPORT_SYMBOL(acpi_match_device_ids);

+int acpi_of_match_device_ids(struct acpi_device *device,
+ const struct of_device_id *ids)
+{
+ return __acpi_match_device(device, NULL, ids, NULL, NULL) ? 0 : -ENOENT;
+}
+EXPORT_SYMBOL(acpi_of_match_device_ids);
+
bool acpi_driver_match_device(struct device *dev,
const struct device_driver *drv)
{
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
index aad1a95e6863..0081b9e4aaee 100644
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -677,6 +677,8 @@ void acpi_bus_trim(struct acpi_device *start);
acpi_status acpi_bus_get_ejd(acpi_handle handle, acpi_handle * ejd);
int acpi_match_device_ids(struct acpi_device *device,
const struct acpi_device_id *ids);
+int acpi_of_match_device_ids(struct acpi_device *device,
+ const struct of_device_id *ids);
void acpi_set_modalias(struct acpi_device *adev, const char *default_id,
char *modalias, size_t len);


--
2.52.0