]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pinctrl: qcom: ipq806x: mark gpio as a GPIO pin function
authorHans Ulli Kroll <linux@ulli-kroll.de>
Sun, 19 Jul 2026 13:35:59 +0000 (15:35 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Tue, 28 Jul 2026 09:11:20 +0000 (11:11 +0200)
The qcom pinctrl core supports marking functions that represent GPIO mode
via PINCTRL_GPIO_PINFUNCTION(), so that strict pinmuxing does not reject
GPIO requests for pins that are muxed to the GPIO function.

Add a IPQ_GPIO_PIN_FUNCTION() helper and use it for the ipq806x gpio
function, matching how the msm-based qcom drivers handle this.

This allows ipq806x to keep the GPIO-related configuration in DTS
without tripping over strict pinmux ownership
checks.

Fixes: cc85cb96e2e4 ("pinctrl: qcom: make the pinmuxing strict")
Signed-off-by: Hans Ulli Kroll <linux@ulli-kroll.de>
Acked-by: Linus Walleij <linusw@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://patch.msgid.link/20260719134548.8830-2-linux@ulli-kroll.de
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
drivers/pinctrl/qcom/pinctrl-ipq8064.c
drivers/pinctrl/qcom/pinctrl-msm.h

index 78d320d56be6d85fe769b87d430e6543a2c46777..e1c3c213559f9faa54e2e4f8e913becdf290c7be 100644 (file)
@@ -480,7 +480,7 @@ static const char * const ps_hold_groups[] = {
 };
 
 static const struct pinfunction ipq8064_functions[] = {
-       IPQ_PIN_FUNCTION(gpio),
+       IPQ_GPIO_PIN_FUNCTION(gpio),
        IPQ_PIN_FUNCTION(mdio),
        IPQ_PIN_FUNCTION(ssbi),
        IPQ_PIN_FUNCTION(spmi),
index 4fbff61de6bb3e806b878b84e63291f8759344dc..b94ba1a4177ede95042e74a39fcc93eba046063d 100644 (file)
@@ -24,6 +24,11 @@ struct pinctrl_pin_desc;
                                        fname##_groups,         \
                                        ARRAY_SIZE(fname##_groups))
 
+#define IPQ_GPIO_PIN_FUNCTION(fname)                                   \
+       [IPQ_MUX_##fname] = PINCTRL_GPIO_PINFUNCTION(#fname,            \
+                                       fname##_groups,         \
+                                       ARRAY_SIZE(fname##_groups))
+
 #define MSM_PIN_FUNCTION(fname)                                \
        [msm_mux_##fname] = PINCTRL_PINFUNCTION(#fname,         \
                                        fname##_groups,         \