• Stephen Warren's avatar
    pinctrl: allow concurrent gpio and mux function ownership of pins · 652162d4
    Stephen Warren authored
    Per recent updates to Documentation/gpio.txt, gpiolib drivers should
    inform pinctrl when a GPIO is requested. pinctrl then marks that pin as
    in-use for that GPIO function.
    
    When an SoC muxes pins in a group, it's quite possible for the group to
    contain e.g. 6 pins, but only 4 of them actually be needed by the HW
    module that's mux'd to them. In this case, the other 2 pins could be
    used as GPIOs. However, pinctrl marks all the pins within the group as
    in-use by the selected mux function. To allow the expected gpiolib
    interaction, separate the concepts of pin ownership into two parts: One
    for the mux function and one for GPIO usage. Finally, allow those two
    ownerships to exist in parallel.
    Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    652162d4
pinmux.c 15.5 KB