Re: [PATCH 1/6] mfd: arizona: Factor out read of device tree GPIOs

From: Lee Jones
Date: Wed Apr 16 2014 - 05:26:01 EST


> > > This patch factors out the reading of GPIOs for the Arizona devices
> > > into a helper function.
> > >
> > > Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
> > > ---
> > > drivers/mfd/arizona-core.c | 33 ++++++++++++++++++++++++---------
> > > include/linux/mfd/arizona/core.h | 3 +++
> > > 2 files changed, 27 insertions(+), 9 deletions(-)

[...]

> > > +EXPORT_SYMBOL_GPL(arizona_of_get_named_gpio);
> > > +
> >
> > Are you sure you're going to use this externally?
> >
> > NB: I haven't looked at the remainder of the set yet.
>
> Yeah we move the ldoena gpio into the LDO driver, and later we
> will be adding a polarity GPIO into the extcon driver.

Okay, just checking.

> > > static int arizona_of_get_core_pdata(struct arizona *arizona)
> > > {
> > > + struct arizona_pdata *pdata = &arizona->pdata;
> > > int ret, i;
> > >
> > > - arizona->pdata.reset = of_get_named_gpio(arizona->dev->of_node,
> > > - "wlf,reset", 0);
> > > - if (arizona->pdata.reset < 0)
> > > - arizona->pdata.reset = 0;
> > > -
> > > - arizona->pdata.ldoena = of_get_named_gpio(arizona->dev->of_node,
> > > - "wlf,ldoena", 0);
> > > - if (arizona->pdata.ldoena < 0)
> > > - arizona->pdata.ldoena = 0;
> > > + arizona_of_get_named_gpio(arizona, "wlf,reset", true, &pdata->reset);
> > > + arizona_of_get_named_gpio(arizona, "wlf,ldoena", true, &pdata->ldoena);
> >
> > I guess this pdata is populated by DT?
>
> Yeah that is correct, the Arizona driver populates the pdata from
> the DT then the rest of the driver just uses the pdata in both DT
> and pdata cases.

Sounds ugly when you put it like that, but I know that a _lot_ of
other drivers do the same thing.

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
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/