arm64: dts: qcom: sm8150: fix number of pins in 'gpio-ranges'
authorShawn Guo <shawn.guo@linaro.org>
Wed, 3 Mar 2021 03:31:04 +0000 (11:31 +0800)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Fri, 12 Mar 2021 02:22:43 +0000 (20:22 -0600)
The last cell of 'gpio-ranges' should be number of GPIO pins, and in
case of qcom platform it should match msm_pinctrl_soc_data.ngpio rather
than msm_pinctrl_soc_data.ngpio - 1.

This fixes the problem that when the last GPIO pin in the range is
configured with the following call sequence, it always fails with
-EPROBE_DEFER.

    pinctrl_gpio_set_config()
        pinctrl_get_device_gpio_range()
            pinctrl_match_gpio_range()

Fixes: e13c6d144fa0 ("arm64: dts: qcom: sm8150: Add base dts file")
Cc: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Link: https://lore.kernel.org/r/20210303033106.549-3-shawn.guo@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
arch/arm64/boot/dts/qcom/sm8150.dtsi

index e5bb17bc2f46b6c903a9f2352d90b717afc058e9..778613d3410b1d755ce0fdada0d2209bad4c80c4 100644 (file)
                              <0x0 0x03D00000 0x0 0x300000>;
                        reg-names = "west", "east", "north", "south";
                        interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
-                       gpio-ranges = <&tlmm 0 0 175>;
+                       gpio-ranges = <&tlmm 0 0 176>;
                        gpio-controller;
                        #gpio-cells = <2>;
                        interrupt-controller;