Subject: [PATCH 8/9] pinctrl: abx500: Rejiggle platform data and DT initialisation

From: [email-masked] (Lee Jones)
Date: Tue, 14 May 2013 10:40:36 +0100

On Tue, 14 May 2013, Linus Walleij wrote:

> On Tue, May 14, 2013 at 10:47 AM, Lee Jones <[email-masked]> wrote:
> > On Tue, 14 May 2013, Linus Walleij wrote:
> >
> >> On Wed, May 8, 2013 at 3:29 PM, Lee Jones <[email-masked]> wrote:
> >>
> >> > A pointer to GPIO platform data is always passed to the driver now, so
> >> > there's little point in checking for 'pdata' and executing the DT case if
> >> > it's not there. The difference between booting with DT and !DT is when
> >> > booting with DT, plat_id is not populated. Thus, in the DT case we have
> >> > to use a DT match table in order to find out which platform we're
> >> > executing on. So, we're changing the semantics here to only use the
> >> > match table if no plat_id is supplied though platform data.
> >> >
> >> > Signed-off-by: Lee Jones <[email-masked]>
> >>
> >> Is this really included in the [0/9] fire alarm wrapper statement
> >> "Important ux500 fixups due for the v3.10 -rc:s"?
> >>
> >> It seems more like a random refactoring to me.
> >>
> >> The commit message fails to specify which regression this
> >> is fixing, like if it's causing an oops or so.
> >>
> >> So I've tentatively applied it to the pinctrl devel branch for
> >> v3.11 unless something comes up...
> >
> > Perhaps the commit message is a bit weak, but yes, it _needs_ to go
> > into v3.10, or this driver will be _broken_ when we boot with DT.
> >
> > Please apply this to your -fixes branch.
> 
> Quting myself from above:
>   "The commit message fails to specify which regression this
>   is fixing, like if it's causing an oops or so."
> 
> I'm happy to apply it but what do I write in the commit message?

Platform Data is invariably populated for this driver, even when
booting with Device Tree. Thus the Device Tree probing code encased
within the first check for Platform Data will never executed, causing
the driver to fail when DT is enabled.

This patch fixes the aforementioned regression by rejigging the
probe() semantics to attempt to extract a platform ID from Device Tree
if one can not be sourced from platform data.

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog