Skip to content

Commit

Permalink
clk: amba-pl010: convert to clk_prepare()/clk_unprepare()
Browse files Browse the repository at this point in the history
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Russell King committed Sep 27, 2011
1 parent 99df4ee commit 36b8f1e
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion drivers/tty/serial/amba-pl010.c
Original file line number Diff line number Diff line change
Expand Up @@ -312,12 +312,16 @@ static int pl010_startup(struct uart_port *port)
struct uart_amba_port *uap = (struct uart_amba_port *)port;
int retval;

retval = clk_prepare(uap->clk);
if (retval)
goto out;

/*
* Try to enable the clock producer.
*/
retval = clk_enable(uap->clk);
if (retval)
goto out;
goto clk_unprep;

uap->port.uartclk = clk_get_rate(uap->clk);

Expand All @@ -343,6 +347,8 @@ static int pl010_startup(struct uart_port *port)

clk_dis:
clk_disable(uap->clk);
clk_unprep:
clk_unprepare(uap->clk);
out:
return retval;
}
Expand Down Expand Up @@ -370,6 +376,7 @@ static void pl010_shutdown(struct uart_port *port)
* Shut down the clock producer
*/
clk_disable(uap->clk);
clk_unprepare(uap->clk);
}

static void
Expand Down Expand Up @@ -626,6 +633,7 @@ static int __init pl010_console_setup(struct console *co, char *options)
int bits = 8;
int parity = 'n';
int flow = 'n';
int ret;

/*
* Check whether an invalid uart number has been specified, and
Expand All @@ -638,6 +646,10 @@ static int __init pl010_console_setup(struct console *co, char *options)
if (!uap)
return -ENODEV;

ret = clk_prepare(uap->clk);
if (ret)
return ret;

uap->port.uartclk = clk_get_rate(uap->clk);

if (options)
Expand Down

0 comments on commit 36b8f1e

Please sign in to comment.