pinctrl: msm: Actually use function 0 for gpio selection
authorStephen Boyd <swboyd@chromium.org>
Mon, 1 Oct 2018 21:49:05 +0000 (14:49 -0700)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 2 Oct 2018 08:48:43 +0000 (10:48 +0200)
commitde0c18a87cfa094cb23655624859e09da5146e2a
tree9ebe0888c597eb292d7ad46df3cef695cc57dd69
parent54a58185bfafb5af5045fb8388c45daa373f90f3
pinctrl: msm: Actually use function 0 for gpio selection

This code needs to select function #0, which is the first int in the
array of functions, not the number 0 which may or may not be the
function for "GPIO mode" per the enum mapping. We were getting lucky on
SDM845, where this was tested, because the function 0 matched the enum
value for "GPIO mode". On other platforms, e.g. MSM8996, the gpio enum
value is the last one in the list so this code doesn't work and we see a
warning at boot. Fix it by grabbing the first element out of the array
of functions.

Cc: Doug Anderson <dianders@chromium.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Niklas Cassel <niklas.cassel@linaro.org>
Reported-by: Niklas Cassel <niklas.cassel@linaro.org>
Fixes: 1de7ddb3a15c ("pinctrl: msm: Mux out gpio function with gpio_request()")
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Tested-by: Niklas Cassel <niklas.cassel@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/qcom/pinctrl-msm.c