Re: [PATCH V2 2/2] gpio: add STA2X11 GPIO block

From: Linus Walleij
Date: Thu Mar 01 2012 - 15:20:17 EST


On Thu, Mar 1, 2012 at 7:50 PM, Alessandro Rubini <rubini@xxxxxxxxx> wrote:

>>> +       if (cfg == PINMUX_TYPE_FUNCTION) {
>> (...)
>>> +       case PINMUX_TYPE_OUTPUT_LOW:
>> (...)
>>> +       case PINMUX_TYPE_OUTPUT_HIGH:
>> (...)
>>> +       case PINMUX_TYPE_INPUT:
>> (...)
>>> +       case PINMUX_TYPE_INPUT_PULLUP:
>> (...)
>>> +       case PINMUX_TYPE_INPUT_PULLDOWN:
>>
>> We have created the pin control subsystem to handle things like
>> this. (Muxing and complex control.)
>>
>> Please create a driver in drivers/pinctrl/pinctrl-sta2x11.c that
>> expose both a pinctrl and a GPIOlib interface. The GPIOlib
>> interface can call into the pin control portions just fine.
>
> I'm sorry, after digging in it for a while I'm really lost.  This
> pinctrl file should be there _instead_ of the gpio file or in addition
> to it?  I see tegra has both, but u300 has only one.

Instead. Just expose three interfaces from it:

struct gpio_chip
struct irc_chip (iff it supports IRQs)
struct pinctrl_desc

> Also, this pinctrl depends on CONFIG_EXPERIMENTAL at this point in time.
> Is it wise the make the whole sta2x11 thing depend on experimental?

Another option is to wait for it to be marked non-experimental
and help fixing it up I guess, we've created it due to
shortcomings in drivers/gpio...

Yours,
Linus Walleij
--
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/