On Thursday 03 April 2014 14:38:33 mika.westerberg@xxxxxxxxxxxxxxx wrote: > On Thu, Apr 03, 2014 at 11:25:34AM +0000, Pallala, Ramakrishna wrote: > > >> In non ACPI environment I used to initialize the platform_data under > > >> board or platforms files. Under ACPI how do I do that? > > > > > >If you can't extract that information from ACPI namespace, then one option is to pass platform data along with the device ACPI ID: > > > > > >static const struct acpi_device_id my_acpi_match[] = { > > > { "MYID0001", (kernel_ulong_t)&my_platform_data } > > > ... > > > { }, > > >}; > > > > Thanks for the Quick reply. > > > > So If I want to use different platform_data for different boards can I > > do something like below? > > Exactly. > > > And initialize the platform data in either driver or in separate module > > which gets compiled along with driver? > > Typically it has been done in the same driver but I don't see any problems > having a separate module as well. > > > static const struct acpi_device_id my_acpi_match[] = { > > { "MYID0001", (kernel_ulong_t)&my_platform_data1 } > > { "MYID0002", (kernel_ulong_t)&my_platform_data2 } > > ... > > { }, We definitely don't want per-board match entries, that does not scale. The driver should be reasonably generic and get all the necessary data out of well-defined tables. You can have different IDs when there are only a few cases that are actually relevant, but it has to be conceivable that the same driver get used on future hardware without changes. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html