[PATCH v3 1/2] pinctrl: samsung: Register pinctrl before GPIO

Krzysztof Kozlowski krzk at kernel.org
Thu Mar 23 11:51:43 PDT 2017


On Wed, Mar 22, 2017 at 05:15:34PM +0000, Charles Keepax wrote:
> If we request a GPIO hog, then gpiochip_add_data will attempt
> to request some of its own GPIOs. The driver also uses
> gpiochip_generic_request which means that for any GPIO request to
> succeed the pinctrl needs to be registered. Currently however the
> driver registers the GPIO and then the pinctrl meaning all GPIO hog
> requests will fail, which then in turn causes the whole driver to fail
> probe.
> 
> Fix this up by ensuring we register the pinctrl first. This
> does require us to manually set the GPIO base for the
> pinctrl. Fortunately the driver already assigns a fixed GPIO base, in
> samsung_gpiolib_register, and uses the same calculation it does for
> the pin_base. Meaning the two will always be the same and allowing us
> to reuse the pinbase and avoid the issue.
> 
> Although currently there are no users of GPIO hogs in mainline
> there are plenty of Samsung based boards that are widely used for
> development purposes of other hardware. Indeed we hit this issue
> whilst attaching some additional hardware to an Arndale system.
> 
> Signed-off-by: Charles Keepax <ckeepax at opensource.wolfsonmicro.com>
> ---
> 
> Changes since v2:
>  - Squash in fix to set the GPIO base on the pin_bank.
> 
>  drivers/pinctrl/samsung/pinctrl-samsung.c | 36 +++++++++++++++----------------
>  1 file changed, 18 insertions(+), 18 deletions(-)
> 

Thanks, applied.

Best regards,
Krzysztof




More information about the linux-arm-kernel mailing list