On Wed, Oct 01, 2014 at 11:11:46AM -0700, Darren Hart wrote: > On 10/1/14, 9:30, "Dmitry Torokhov" <dmitry.torokhov@xxxxxxxxx> wrote: > > >On Wed, Oct 01, 2014 at 10:13:04AM +0200, Arnd Bergmann wrote: > >> On Wednesday 01 October 2014 04:17:02 Rafael J. Wysocki wrote: > >> > 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, > > > >No, I think in absence of drv->acpi_match_table ACPI core should just go > >and > >use drv->of_match_table to do the matching and be done with it. > > But then you will match drivers that have of-only support that don't know > anything about ACPI and haven't been updated to use the new API. Worse, > some of those drivers will assume of node structs and such and potentially > panic. Unless I'm sorry mistaken here.... Does ACPI set dev->of_node pointer? I'd expect them to fail right there... -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html