pinctrl: tegra-xusb: Fix allocation of pins
authorJon Hunter <jonathanh@nvidia.com>
Wed, 27 May 2015 13:11:54 +0000 (14:11 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 1 Jun 2015 11:57:05 +0000 (13:57 +0200)
commit8480c2e7b0484b8ec741bbb908455fce748f9798
treeb238e41e07668cfe7a0089f990ac41d4cf1bd7ac
parent1133c6379c8a2af9d0825db621ce2f16c694a8fe
pinctrl: tegra-xusb: Fix allocation of pins

Commit e5b3b2d9ed20 ("pinctrl: allows not to define the get_group_pins
operation") allows pin controllers not to register the get_group_pins()
function. However, a side-effect of not registering this function is
that pins are not allocated and potentially multiple devices could
attempt to configure the same pins [1]. Although this problem exists in
the pinctrl core, because only a few devices are impacted by this, fix
this for tegra-xusb by adding the get_group_pins() function.

Please note that in addition to adding the get_group_pins() functions
the pins/lanes for the tegra-xusb also need to be registered when
calling pinctrl_register(). This also allows the current pinmux state
to be viewed by the debugfs node "pinmux-pins" for the tegra-xusb pad
controller.

[1] http://www.spinics.net/lists/linux-gpio/msg05810.html

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-tegra-xusb.c