Re: [PATCH] of/platform: Allow secondary compatible match in of_dev_lookup

From: Rob Herring
Date: Tue Apr 12 2016 - 11:56:48 EST


On Thu, Apr 7, 2016 at 11:58 AM, Tony Lindgren <tony@xxxxxxxxxxx> wrote:
> * Rob Herring <robh+dt@xxxxxxxxxx> [160406 21:53]:
>> On Fri, Apr 1, 2016 at 4:40 PM, Tony Lindgren <tony@xxxxxxxxxxx> wrote:
>> > * Tony Lindgren <tony@xxxxxxxxxxx> [160401 14:37]:
>> >> We currently try to match of_dev_auxdata based on compatible,
>> >> IO address, and device name. But in some cases we have multiple
>> >> instances of drivers that can use the same auxdata.
>> >>
>> >> Let's add an additional secondary lookup for generic compatible
>> >> match for auxdata if no device specific match is found. This does
>> >> not change the existing matching, and still allows adding device
>> >> specific auxdata.
>> >>
>> >> This simplifies things as specifying the IO address and device
>> >> name is prone errors as it requires maintaining an in kernel
>> >> database for each SoC.
>> >
>> > And here's what I can apply later on to get rid of some
>> > ifdeffery.
>> >
>> > I'm also planning to move some of the legacy omap hwmod
>> > functionality into proper device drivers, so can generic
>> > pdata for that too.
>>
>> Why can't the platform data be moved into the driver given that it
>> appears to be only SoC family specific? Auxdata was somewhat intended
>> to be temporary. It appears there is already some per compatible match
>> data for these OMAP parts in the driver.
>
> There are just too many dependencies to move legacy code into drivers
> directly. Especially when moving the omap hwmod code into drivers,
> we still to use hwmod callbacks at least for clockdomain configuration,
> wake-up dependencies and clock autogating configuration.
>
> When we have Linux generic frameworks available for all this we no longer
> need the auxdata. But meanwhile, removing the depenencies by using
> auxdata already allows moving big chunks of the hwmod code into regular
> device drivers.

Okay. In that case:

Acked-by: Rob Herring <robh@xxxxxxxxxx>

Apply it when you have actual users depending on it.

Rob