Re: [PATCH v2 7/7] pinctrl: qcom-spmi-gpio: Migrate to pinconf-generic

From: SÃren Brinkmann
Date: Thu Dec 04 2014 - 12:21:25 EST


On Thu, 2014-12-04 at 11:30AM +0200, Ivan T. Ivanov wrote:
>
> On Wed, 2014-12-03 at 09:38 -0800, SÃren Brinkmann wrote:
> > On Wed, 2014-12-03 at 03:03PM +0200, Ivan T. Ivanov wrote:
> > > On Thu, 2014-11-27 at 17:26 -0800, Soren Brinkmann wrote:
> > > > Instead of the driver caring about implementation details like device
> > > > tree, just provide information about driver specific pinconf parameters
> > > > to pinconf-generic which takes care of parsing the DT.
> > > >
> > > > Signed-off-by: Soren Brinkmann brinkmann@xxxxxxxxxx>
> > > > ---
> > > > This is compile tested only. So, it's likely that it needs more tweaking
> > > > to make it actually work on HW. But it illustrates the potential
> > > > benefits of the pinconf-generic changes in this series.
> > > > ---
> > > > drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 125 +++----------------------------
> > > > 1 file changed, 11 insertions(+), 114 deletions(-)
> > > >
> > > > diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c b/drivers/pinctrl/qcom/pinctrl-spmi-
> > > > gpio.c
> > > > index b863b5080890..2db85e53ef73 100644
> > > > --- a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
> > > > +++ b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
> > > > @@ -131,14 +131,14 @@ struct pmic_gpio_state {
> > > > struct gpio_chip chip;
> > > > };
> > > >
> > > > -struct pmic_gpio_bindings {
> > > > - const char*property;
> > > > - unsigned param;
> > > > +static const struct pinconf_generic_dt_params pmic_gpio_bindings[] = {
> > > > + {"qcom,pull-up-strength",PMIC_GPIO_CONF_PULL_UP,0},
> > > > + {"qcom,drive-strength",PMIC_GPIO_CONF_STRENGTH,0},
> > > > };
> > > >
> > > > -static struct pmic_gpio_bindings pmic_gpio_bindings[] = {
> > > > - {"qcom,pull-up-strength",PMIC_GPIO_CONF_PULL_UP},
> > > > - {"qcom,drive-strength",PMIC_GPIO_CONF_STRENGTH},
> > > > +static const struct pin_config_item pmic_conf_items[] = {
> > > > + PCONFDUMP(PMIC_GPIO_CONF_PULL_UP, "pull-up-strength", NULL, true),
> > >
> > > s/pull-up-strength/qcom,pull-up-strength/
> >
> > This is used for the debugfs output. I don't think you want the qcom
> > prefix here, do you?
>
> Then at lest lets make it "pull up strength".

Ok. Will change it.

>
> >
> > > > + PCONFDUMP(PMIC_GPIO_CONF_STRENGTH, "drive-strength", NULL, true),
> > > > };
> > > >
> > >
> > >
> > >
> > > I am not happy that we have to define the same think two times.
> >
> > It's not really the same thing. One is the actual DT binding the other
> > how the property is displayed in debugfs. Two different things. It's how
> > the core does it. That's not new.
>
> This didn't make me more happy :-). Could both be merged?

That's definitely beyond the scope of this series.

Soren
--
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/