lkml.org 
[lkml]   [2014]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [Linaro-acpi] How to pass I2C platform_data under ACPI
Date
On Thursday 03 April 2014 14:38:33 mika.westerberg@linux.intel.com 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


\
 
 \ /
  Last update: 2014-04-05 04:41    [W:0.106 / U:0.244 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site