diff mbox series

dm: pinctrl: Use right device pointer for configuring pinctrl

Message ID 20200422172531.29649-1-lokeshvutla@ti.com
State Accepted
Commit dbfd9e0e61ff1f9c65703959ed8e3ceb410d1e7e
Headers show
Series dm: pinctrl: Use right device pointer for configuring pinctrl | expand

Commit Message

Lokesh Vutla April 22, 2020, 5:25 p.m. UTC
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 at konsulko.com>
Signed-off-by: Lokesh Vutla <lokeshvutla at ti.com>
---
 drivers/pinctrl/pinctrl-single.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Tom Rini April 22, 2020, 5:29 p.m. UTC | #1
On Wed, Apr 22, 2020 at 10:55:31PM +0530, Lokesh Vutla wrote:

> 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 at konsulko.com>
> Signed-off-by: Lokesh Vutla <lokeshvutla at ti.com>

Thanks for the quick turn-around!

Tested-by: Tom Rini <trini at konsulko.com> [am65x_evm_a53 / am65x_evm_r5]

I'll pick this up soon to give others a chance to comment.
Patrick Delaunay April 23, 2020, 7:49 a.m. UTC | #2
Hi,

> From: Lokesh Vutla <lokeshvutla at ti.com>
> Sent: mercredi 22 avril 2020 19:26
> 
> 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 at konsulko.com>
> Signed-off-by: Lokesh Vutla <lokeshvutla at ti.com>
> ---
>  drivers/pinctrl/pinctrl-single.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 

Sorry for regression...

Reviewed-by: Patrick Delaunay <patrick.delaunay at st.com>

And thanks for the fixe

Patrick
Tom Rini April 23, 2020, 8:50 p.m. UTC | #3
On Thu, Apr 23, 2020 at 07:49:36AM +0000, Patrick DELAUNAY wrote:
> Hi,
> 
> > From: Lokesh Vutla <lokeshvutla at ti.com>
> > Sent: mercredi 22 avril 2020 19:26
> > 
> > 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 at konsulko.com>
> > Signed-off-by: Lokesh Vutla <lokeshvutla at ti.com>
> > ---
> >  drivers/pinctrl/pinctrl-single.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> 
> Sorry for regression...
> 
> Reviewed-by: Patrick Delaunay <patrick.delaunay at st.com>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c
index a5d1ff0e97..738f5bd636 100644
--- a/drivers/pinctrl/pinctrl-single.c
+++ b/drivers/pinctrl/pinctrl-single.c
@@ -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)) {