[U-Boot] [PATCH] serial: sh: Enable clock if available

Marek Vasut marek.vasut at gmail.com
Fri Sep 15 19:11:27 UTC 2017


If the clock framework provides the driver with valid clock,
enable them, otherwise the SCIF might not work if the clock
are not enabled prior to the driver probe.

Signed-off-by: Marek Vasut <marek.vasut+renesas at gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu at nigauri.org>
---
 drivers/serial/serial_sh.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/serial/serial_sh.c b/drivers/serial/serial_sh.c
index 087785f9a2..d9db702803 100644
--- a/drivers/serial/serial_sh.c
+++ b/drivers/serial/serial_sh.c
@@ -226,11 +226,14 @@ static int sh_serial_ofdata_to_platdata(struct udevice *dev)
 	plat->base = addr;
 
 	ret = clk_get_by_name(dev, "fck", &sh_serial_clk);
-	if (!ret)
-		plat->clk = clk_get_rate(&sh_serial_clk);
-	else
+	if (!ret) {
+		ret = clk_enable(&sh_serial_clk);
+		if (!ret)
+			plat->clk = clk_get_rate(&sh_serial_clk);
+	} else {
 		plat->clk = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev),
 					   "clock", 1);
+	}
 
 	plat->type = dev_get_driver_data(dev);
 	return 0;
-- 
2.11.0



More information about the U-Boot mailing list