Re: [PATCH 5/5] pinctrl: rockchip: correctly handle arguments of pinconf options

From: Heiko Stübner
Date: Sun Jun 16 2013 - 07:02:59 EST


Am Sonntag, 16. Juni 2013, 12:35:43 schrieb Linus Walleij:
> On Fri, Jun 14, 2013 at 5:44 PM, Heiko Stübner <heiko@xxxxxxxxx> wrote:
> > Change the rockchip pinctrl driver to handle the arguments of 0 or 1 to
> > the pull pinconfig options correctly, so that the pull gets disabled when
> > either the bias_disable options is set or the pull option has the
> > argument 0.
> >
> > Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx>
>
> Patch applied so we can move ahead but:
> > case PIN_CONFIG_BIAS_PULL_UP:
> > case PIN_CONFIG_BIAS_PULL_DOWN:
> >
> > case PIN_CONFIG_BIAS_PULL_PIN_DEFAULT:
> > + if (!rockchip_pinconf_pull_valid(info->ctrl, param))
> > + return -ENOTSUPP;
> > +
> > + if (!arg)
> > + param = PIN_CONFIG_BIAS_DISABLE;
>
> This is what I think is counter-intuitive.
>
> Can't you rely on the bias-disable here instead?
>
> > - *config = 0;
> > + pull = rockchip_get_pull(bank, pin - bank->pin_base);
> > + *config = (pull == param) ? 1 : 0;
>
> And then I guess you should emit PIN_CONFIG_BIAS_DISABLE
> here as well.

rockchip_get_pull does emit PIN_CONFIG_BIAS_DISABLE when the pull is disabled,
only wrongly does add the argument here.


But I'm actually not quite sure what the expected behaviour is here at all :-)

Say the pin is in the "pin-default" pull state and the query in config_get is
for "bias-disable", what would be the expected bahviour/return value in this
case?


Thanks
Heiko
--
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/