Re: [PATCH] pinctrl: Add generic pinctrl-simple driver that supportsomap2+ padconf

From: Stephen Warren
Date: Thu May 10 2012 - 13:05:25 EST

On 05/09/2012 02:49 PM, Tony Lindgren wrote:
> * Stephen Warren <swarren@xxxxxxxxxxxxx> [120509 13:22]:
>> On 05/04/2012 04:08 PM, Tony Lindgren wrote:
>>> * Stephen Warren <swarren@xxxxxxxxxxxxx> [120504 11:59]:
>>>> On 05/04/2012 10:34 AM, Tony Lindgren wrote:
>>>>> * Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> [120504 08:58]:
>>>>>> On 08:03 Fri 04 May , Tony Lindgren wrote:
>>>>>>>> so I was thinking to do like on gpio
>>>>>>>> uart {
>>>>>>>> pin = < &pioA 12 {pararms} >
>>>>>>>> }
>>>>>>> Hmm I assume the "12" above the gpio number?
>>>>>> no pin number in the bank because it could not be gpio
>>>>> Yes OK, but pin number 12 in the gpio bank, not in the mux register.
>>>>> Got it.
>>>> I'd prefer to avoid any references to GPIOs here; not all muxable pins
>>>> are GPIOs and not all GPIOs are muxable pins. Lets keep the two concepts
>>>> independent.
>>> And it seems that &pioA 12 is not always enough information for the pinctrl
>>> driver to request a GPIO. So it's best to specify it separately.
>> Why would a pinctrl driver "request a GPIO"?
> Hmm what would pinctrl_request_gpio do if the GPIO driver is separate driver?

Well, that's a GPIO driver requesting a GPIO from the pinctrl system,
rather than the pinctrl driver requesting a GPIO (sorry to be picky).

It wasn't at all obvious to me from your binding proposal that you
intended the pinctrl-simple driver to support the GPIO operations at
all. If you do want this, I think you'd need some properties (perhaps
some kind of explicit table) in order to set up the GPIO ID -> pinctrl
pin ID mapping. I don't recall seeing those; did I just miss them? I
think we'd want this to be explicit because:

a) It may well be the case that not all users of pinctrl-simple actually
mux/control GPIOs at all. It's certainly possible to only mux "special
functions", and have dedicated pins for a GPIO controller.

b) Even when GPIOs do come into the picture, it may be that only some of
the pins are available as GPIOs.

Also, were you intending pinctrl-simple to actually be the GPIO
controller itself? That'd be another case that one might consider fairly
simple, but then extends to being gpio-simple as well as pinctrl-simple...
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at