Re: [PATCH v3 3/7] acpi: add acpi_of_match_device_ids
From: Rafael J. Wysocki
Date: Mon Mar 23 2026 - 15:58:30 EST
On Fri, Mar 13, 2026 at 8:03 PM Markus Probst via B4 Relay
<devnull+markus.probst.posteo.de@xxxxxxxxxx> wrote:
>
> 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.
Please always spell ACPI in capitals in patch subjects, comments,
changelogs, etc. It is not a regular word.
> 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);
>
Missing kerneldoc.
> +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);
Are you aware of the consensus that using PRP0001 in production
platform firmware will be regarded as invalid?
Because of that, it is not an option for a driver to avoid providing
ACPI match data on a platform that uses ACPI.
> +
> 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
>
>