bug of gpio transition in pinmux driver

Stephen Warren swarren at nvidia.com
Wed Nov 23 12:13:56 EST 2011


Haojian Zhuang wrote at Wednesday, November 23, 2011 6:13 AM:
> Hi Linus & Stephen,
> 
> There's a bug in pinmux driver. We can request gpio via
> pinmux_request_gpio(@gpio). @gpio is the gpio number.
> 
> In pinmux_request_gpio():
>     pin = @gpio - range->base;
>     pin_request(pin);
> 
> This pin is the index of pinctrl_pin_desc[]. What's the definition of
> pinctrl_pin_desc's index? It's the index of PAD, not GPIO. Since the
> goal of pinmux_request_gpio() is to avoid define too much gpio groups.
> We need to add the transition between gpio and pad. It's clear that
> the transition of "pin = @gpio - range->base" can't fit every silicon.

> Especially, one gpio can be routed to two pads in PXA silicon.

That particular case isn't really covered yet; we've been discussing how
to solve that case; see:

https://lkml.org/lkml/2011/11/21/370

-- 
nvpublic




More information about the linux-arm-kernel mailing list