On Fri, Dec 13, 2013 at 5:24 AM, Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> wrote: > On Thu 12 Dec 11:15 PST 2013, Linus Walleij wrote: >> On Wed, Dec 11, 2013 at 2:49 AM, Stephen Boyd <sboyd@xxxxxxxxxxxxxx> wrote: > ... >> > I don't follow what Linus is recommending. How could >> > .gpio_request_enable()/.gpio_disable_free() help us here? >> >> That removes the need to define a single group for each pin that >> can be used as GPIO. > > For the TLMM chip the pin can not be used as GPIO when another function is > selected for the pin. And upon leaving a state with a function defined the > choosen mux is disabled, turning the pin back to a GPIO pin. > So I don't think this is applicable for us, any unused pin is a GPIO pin. Well it can be used, it is not imperative to exploit the fact that the subsystem this way allows you to use a pin as a function and GPIO at the same time, and that is actually not why it is there. It is there to avoid adding too many one-pin gpio groups :-) If you still want to have the "check" that we don't enable GPIO on something that is used by another function or vice versa that can be NACKed by the driver, for example by using a bitmap to indicate if the pin is used by a GPIO and NACKing the mux setting on that pin in this case (etc). However *I'm* OK with one pin group per pin if you prefer it this way, it's just an option, no way is it compulsory, to do it with the special callbacks. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html