public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] serial: ns16550: Fix serial output on Tegra186
@ 2016-09-30  8:46 Thierry Reding
  2016-09-30  8:53 ` Alexandre Courbot
  2016-10-03 15:51 ` Stephen Warren
  0 siblings, 2 replies; 7+ messages in thread
From: Thierry Reding @ 2016-09-30  8:46 UTC (permalink / raw)
  To: u-boot

From: Thierry Reding <treding@nvidia.com>

For Tegra186 there are currently no UART clocks wired up in device tree.
This exposes a regression introduced in commit 50fce1d5d874 ("serial:
ns16550: Support clocks via phandle"), which causes the p2771-0000-500
board (and probably any Tegra186-based board as well) to fail to boot.

The reason is that if no clocks property exists, then clk_get_by_index()
returns -ENOENT (via fdtdec_parse_phandle_with_args()) rather than
-ENODEV as the above-mentioned commit expects.

Fix this by checking for the right error code.

Reported-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 drivers/serial/ns16550.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 765499dab646..9c36dbe2a566 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -408,7 +408,7 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
 		err = clk_get_rate(&clk);
 		if (!IS_ERR_VALUE(err))
 			plat->clock = err;
-	} else if (err != -ENODEV && err != -ENOSYS) {
+	} else if (err != -ENOENT && err != -ENOSYS) {
 		debug("ns16550 failed to get clock\n");
 		return err;
 	}
-- 
2.10.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-10-03 16:14 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-30  8:46 [U-Boot] [PATCH] serial: ns16550: Fix serial output on Tegra186 Thierry Reding
2016-09-30  8:53 ` Alexandre Courbot
2016-09-30  9:47   ` Paul Burton
2016-09-30  9:57     ` Alexandre Courbot
2016-09-30 10:32     ` Thierry Reding
2016-10-03 15:51 ` Stephen Warren
2016-10-03 16:14   ` Stephen Warren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox