[PATCH 2/7] Serial: Samsung: Fix uart clock init order The clk_get API returns -ENOENT when invoked from s3c24xx_serial_initconsole. This happens since the serial_console gets registered before the platform driver is registered.Defer the call to clk_get to s3c24xx_serial_probe so that the API returns a valid clock. Signed-off-by: Shaju Abraham <shaju.abraham at linaro.org>

Shaju Abraham shaju.abraham at linaro.org
Mon Sep 20 20:19:23 EST 2010


---
 drivers/serial/samsung.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/serial/samsung.c b/drivers/serial/samsung.c
index a9d6c56..4c5eea0 100644
--- a/drivers/serial/samsung.c
+++ b/drivers/serial/samsung.c
@@ -1110,7 +1110,6 @@ static int s3c24xx_serial_init_port(struct s3c24xx_uart_port *ourport,
 	if (ret > 0)
 		ourport->tx_irq = ret;
 
-	ourport->clk	= clk_get(&platdev->dev, "uart");
 
 	dbg("port: map=%08x, mem=%08x, irq=%d (%d,%d), clock=%ld\n",
 	    port->mapbase, port->membase, port->irq,
@@ -1154,6 +1153,7 @@ int s3c24xx_serial_probe(struct platform_device *dev,
 	if (ret < 0)
 		goto probe_err;
 
+	ourport->clk	= clk_get(&dev->dev, "uart");
 	dbg("%s: adding port\n", __func__);
 	uart_add_one_port(&s3c24xx_uart_drv, &ourport->port);
 	platform_set_drvdata(dev, &ourport->port);
-- 
1.7.2



More information about the devicetree-discuss mailing list