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

From: SÃren Brinkmann
Date: Wed Dec 03 2014 - 12:38:44 EST


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?

>
> > + 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.

SÃren
--
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/