diff options
Diffstat (limited to 'drivers/tty/serial/imx.c')
-rw-r--r-- | drivers/tty/serial/imx.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c index 0b7fed746b27..e7feceeebc2f 100644 --- a/drivers/tty/serial/imx.c +++ b/drivers/tty/serial/imx.c | |||
@@ -1508,7 +1508,7 @@ static int serial_imx_probe(struct platform_device *pdev) | |||
1508 | ret = PTR_ERR(sport->clk); | 1508 | ret = PTR_ERR(sport->clk); |
1509 | goto unmap; | 1509 | goto unmap; |
1510 | } | 1510 | } |
1511 | clk_enable(sport->clk); | 1511 | clk_prepare_enable(sport->clk); |
1512 | 1512 | ||
1513 | sport->port.uartclk = clk_get_rate(sport->clk); | 1513 | sport->port.uartclk = clk_get_rate(sport->clk); |
1514 | 1514 | ||
@@ -1531,8 +1531,8 @@ deinit: | |||
1531 | if (pdata && pdata->exit) | 1531 | if (pdata && pdata->exit) |
1532 | pdata->exit(pdev); | 1532 | pdata->exit(pdev); |
1533 | clkput: | 1533 | clkput: |
1534 | clk_disable_unprepare(sport->clk); | ||
1534 | clk_put(sport->clk); | 1535 | clk_put(sport->clk); |
1535 | clk_disable(sport->clk); | ||
1536 | unmap: | 1536 | unmap: |
1537 | iounmap(sport->port.membase); | 1537 | iounmap(sport->port.membase); |
1538 | free: | 1538 | free: |
@@ -1552,11 +1552,10 @@ static int serial_imx_remove(struct platform_device *pdev) | |||
1552 | 1552 | ||
1553 | if (sport) { | 1553 | if (sport) { |
1554 | uart_remove_one_port(&imx_reg, &sport->port); | 1554 | uart_remove_one_port(&imx_reg, &sport->port); |
1555 | clk_disable_unprepare(sport->clk); | ||
1555 | clk_put(sport->clk); | 1556 | clk_put(sport->clk); |
1556 | } | 1557 | } |
1557 | 1558 | ||
1558 | clk_disable(sport->clk); | ||
1559 | |||
1560 | if (pdata && pdata->exit) | 1559 | if (pdata && pdata->exit) |
1561 | pdata->exit(pdev); | 1560 | pdata->exit(pdev); |
1562 | 1561 | ||