dm: pinctrl: Use right device pointer for configuring pinctrl
authorLokesh Vutla <lokeshvutla@ti.com>
Wed, 22 Apr 2020 17:25:31 +0000 (22:55 +0530)
committerTom Rini <trini@konsulko.com>
Thu, 23 Apr 2020 12:25:37 +0000 (08:25 -0400)
commit 719cab6d2e2bf ("dm: pinctrl: convert pinctrl-single to livetree")
converted pinctrl driver to livetree. In this conversion, the call to
read pinctrl-single,pins/bits property is provided with pinctrl device
pointer instead of pinctrl config pointer. Because of this none of the
pins gets configured. Fix it by passing the right udevice pointer.

Fixes: 719cab6d2e2bf ("dm: pinctrl: convert pinctrl-single to livetree")
Reported-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
drivers/pinctrl/pinctrl-single.c

index a5d1ff0e97051d936737722b1058ff3366401915..738f5bd63643152656d427385e0017344c8ca0a1 100644 (file)
@@ -120,7 +120,7 @@ static int single_set_state(struct udevice *dev,
        const struct single_fdt_bits_cfg *prop_bits;
        int len;
 
-       prop = dev_read_prop(dev, "pinctrl-single,pins", &len);
+       prop = dev_read_prop(config, "pinctrl-single,pins", &len);
 
        if (prop) {
                dev_dbg(dev, "configuring pins for %s\n", config->name);
@@ -133,7 +133,7 @@ static int single_set_state(struct udevice *dev,
        }
 
        /* pinctrl-single,pins not found so check for pinctrl-single,bits */
-       prop_bits = dev_read_prop(dev, "pinctrl-single,bits", &len);
+       prop_bits = dev_read_prop(config, "pinctrl-single,bits", &len);
        if (prop_bits) {
                dev_dbg(dev, "configuring pins for %s\n", config->name);
                if (len % sizeof(struct single_fdt_bits_cfg)) {