Re: [Linaro-acpi] How to pass I2C platform_data under ACPI

From: mika.westerberg@xxxxxxxxxxxxxxx
Date: Thu Apr 03 2014 - 09:51:15 EST


On Thu, Apr 03, 2014 at 03:34:30PM +0200, Arnd Bergmann wrote:
> 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.

Yes, I meant that when the platform data information is not available in
ACPI namespace, then (and only then) pass the data by means of different
IDs.

Preferably this information is included in the ACPI namespace.
--
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/