On Wed, Dec 11, 2013 at 2:49 AM, Stephen Boyd <sboyd@xxxxxxxxxxxxxx> wrote: > On 12/10/13 00:41, Bjorn Andersson wrote: >> On Fri 06 Dec 14:22 PST 2013, Stephen Boyd wrote: >>> Also, do we ever plan to have anything more than the gpio pins and the >>> sdc pins? It seems like we spend a lot of space describing exactly the >>> same thing in these structs for each of the 146 gpio pins when we could >>> just know that range 0 to 146 is gpio pins and have different code for >>> that part vs the 6 or something sd pins. >>> >> We have to have a pingroup list, so I did look at having that list >> referencing a common object with the gpio/sdc specific data. >> >> But just having it in one large blob is the way that other pinctrl >> drivers does it and hence a common problem to pinctrl and multi-platform >> arm support. > > 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. It is described in Documentation/pinctrl.txt under the heading "Pin control interaction with the GPIO subsystem" On a related key I guess drivers/gpio/gpio-msm-v2.c needs to be patched to call pinctrl_request_gpio()/ pinctrl_free_gpio()/pinctrl_gpio_direction_input()/ pinctrl_gpio_direction_output() before the GPIO back-end works at all so there is still time to change this (plus it is not part of the DT binding or anything so it can be changed at any time). 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