Skip to contentSkip to conversation

serial: ns16550: select default pinctrl state

RFC In review Peter Mamonov 2 participants 3 messages Mar 12, 2020 – Mar 13, 2020

lore
Share & tools
lore
#0 lore raw

RFC 1/1 serial: ns16550: select default pinctrl state

---
 drivers/serial/serial_ns16550.c | 3 +++
 1 file changed, 3 insertions(+)
drivers/serial/serial_ns16550.c +3 -0
index 3edeb0dcb..6b5e92c13 100644
@@ -39,6 +39,7 @@
 #include <malloc.h>
 #include <io.h>
 #include <linux/clk.h>
+#include <pinctrl.h>
 
 #include "serial_ns16550.h"
 #include <platform_data/serial-ns16550.h>
@@ -347,6 +348,8 @@ static void ns16550_probe_dt(struct device_d *dev, struct ns16550_priv *priv)
 		dev_err(dev, "unsupported reg-io-width (%d)\n",
 			width);
 	}
+
+	of_pinctrl_select_state_default(np);
 }
 
 static struct ns16550_drvdata ns16450_drvdata = {
Signature · 7 lines
2.20.1


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
#1 lore raw
Quoted 18 lines · Peter Mamonov
---
 drivers/serial/serial_ns16550.c | 3 +++
 1 file changed, 3 insertions(+)
drivers/serial/serial_ns16550.c +1 -0
index 3edeb0dcb..6b5e92c13 100644
@@ -39,6 +39,7 @@
 #include <malloc.h>
 #include <io.h>
 #include <linux/clk.h>
+#include <pinctrl.h>
 
 #include "serial_ns16550.h"
 #include <platform_data/serial-ns16550.h>

drivers/serial/serial_ns16550.c static void ns16550_probe_dt(struct device_d *dev, struct ns16550_priv *priv) · line 352

Quoted 5 lines
drivers/serial/serial_ns16550.c +2 -0
@@ -347,6 +348,8 @@ static void ns16550_probe_dt(struct device_d *dev, struct ns16550_priv *priv)
 		dev_err(dev, "unsupported reg-io-width (%d)\n",
 			width);
 	}
+
+	of_pinctrl_select_state_default(np);

Why? This should have been done by the core already at this point.

Sascha

Signature · 9 lines
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
#2 lore raw
Quoted 16 lines · Sascha Hauer
Quoted 15 lines · Peter Mamonov
---
 drivers/serial/serial_ns16550.c | 3 +++
 1 file changed, 3 insertions(+)
drivers/serial/serial_ns16550.c +1 -0
index 3edeb0dcb..6b5e92c13 100644
@@ -39,6 +39,7 @@
 #include <malloc.h>
 #include <io.h>
 #include <linux/clk.h>
+#include <pinctrl.h>
 
Quoted 10 lines

drivers/serial/serial_ns16550.c static void ns16550_probe_dt(struct device_d *dev, struct ns16550_priv *priv) · line 352

Quoted 8 lines
drivers/serial/serial_ns16550.c +2 -0
 #include "serial_ns16550.h"
 #include <platform_data/serial-ns16550.h>
@@ -347,6 +348,8 @@ static void ns16550_probe_dt(struct device_d *dev, struct ns16550_priv *priv)
 		dev_err(dev, "unsupported reg-io-width (%d)\n",
 			width);
 	}
+
+	of_pinctrl_select_state_default(np);

Why? This should have been done by the core already at this point.

I struggled with this problem
http://lists.infradead.org/pipermail/barebox/2020-March/041206.html yesterday, and my first guess was that pinctrl doesn't apply. So I made this patch and didn't revert it after finding the real solution. I will do so later. Thanks for explanation!

Peter

Quoted 8 lines

Sascha

Signature · 4 lines
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox