Re: [PATCH V5 09/12] ACPI: introduce acpi platform exclude id list

From: Rafael J. Wysocki
Date: Sun Apr 27 2014 - 18:05:36 EST


On Tuesday, April 08, 2014 12:06:56 AM Zhang Rui wrote:
> For ACPI PIC (PNP0000) and Timer (PNP0100) device objects, although
> they have _HID control method, but they should not be enumerated to
> platform bus, because there will never be any platform drivers for them.
>
> Thus an exclude id list is introduced in this patch to prevent
> those platform device nodes from being created.
>
> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>

This should go into [6/12] as well.

> ---
> drivers/acpi/acpi_platform.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/drivers/acpi/acpi_platform.c b/drivers/acpi/acpi_platform.c
> index 33376a9..91ed43a 100644
> --- a/drivers/acpi/acpi_platform.c
> +++ b/drivers/acpi/acpi_platform.c
> @@ -22,6 +22,17 @@
>
> ACPI_MODULE_NAME("platform");
>
> +static const struct acpi_device_id excluded_id_list[] = {
> + {"PNP0000", 0}, /* PIC */
> + {"PNP0100", 0}, /* Timer */
> + {"", 0},
> +};
> +
> +static bool is_exclusive_device(struct acpi_device *dev)
> +{
> + return !acpi_match_device_ids(dev, excluded_id_list);
> +}
> +
> /**
> * acpi_create_platform_device - Create platform device for ACPI device node
> * @adev: ACPI device node to create a platform device for.
> @@ -48,6 +59,9 @@ int acpi_create_platform_device(struct acpi_device *adev,
> if (adev->physical_node_count)
> return 0;
>
> + if (is_exclusive_device(adev))
> + return 0;
> +
> INIT_LIST_HEAD(&resource_list);
> count = acpi_dev_get_resources(adev, &resource_list, NULL, NULL);
> if (count < 0) {
>

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/