Thread (130 messages) 130 messages, 14 authors, 2014-10-07

Re: [PATCH v3 10/15] leds: leds-gpio: Add ACPI probing support

From: Arnd Bergmann <arnd@arndb.de>
Date: 2014-10-01 08:13:17
Also in: linux-acpi, lkml

On Wednesday 01 October 2014 04:17:02 Rafael J. Wysocki wrote:
quoted hunk ↗ jump to hunk
Index: linux-pm/drivers/leds/leds-gpio.c
===================================================================
--- linux-pm.orig/drivers/leds/leds-gpio.c
+++ linux-pm/drivers/leds/leds-gpio.c
@@ -231,6 +231,13 @@ static const struct of_device_id of_gpio
 
 MODULE_DEVICE_TABLE(of, of_gpio_leds_match);
 
+static const struct acpi_device_id acpi_gpio_leds_match[] = {
+       { "PRP0001" }, /* Device Tree shoehorned into ACPI */
+       {},
+};
+
+MODULE_DEVICE_TABLE(acpi, acpi_gpio_leds_match);
+
 static int gpio_led_probe(struct platform_device *pdev)
 {
        struct gpio_led_platform_data *pdata = dev_get_platdata(&pdev->dev);
@@ -286,6 +293,7 @@ static struct platform_driver gpio_led_d
                .name   = "leds-gpio",
                .owner  = THIS_MODULE,
                .of_match_table = of_gpio_leds_match,
+               .acpi_match_table = acpi_gpio_leds_match,
        },
 };
Is this something you'd have to do in every driver you want to support
_PRP based probing? For the ".acpi_match_table =" reference, I think
you could actually provide a generic acpi_device_id table exported from
core code that you refer to, so each driver just does

	.acpi_match_table = acpi_match_by_of_compatible,

(or whatever you want to call it).

Regarding the MODULE_DEVICE_TABLE, I suspect the above won't work the
way you are hoping for, because once you get to dozens or hundreds of
drivers doing this, each device will show up with the same string,
so udev will try to load all the modules that list "PRP0001". That
doesn't look right. With the code from patch 3, you can probably drop
the acpi MODULE_DEVICE_TABLE() entirely and get the correct behavior.

	Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help