|
@@ -1508,7 +1508,7 @@ static int serial_imx_probe(struct platform_device *pdev)
|
|
|
ret = PTR_ERR(sport->clk);
|
|
|
goto unmap;
|
|
|
}
|
|
|
- clk_enable(sport->clk);
|
|
|
+ clk_prepare_enable(sport->clk);
|
|
|
|
|
|
sport->port.uartclk = clk_get_rate(sport->clk);
|
|
|
|
|
@@ -1531,8 +1531,8 @@ deinit:
|
|
|
if (pdata && pdata->exit)
|
|
|
pdata->exit(pdev);
|
|
|
clkput:
|
|
|
+ clk_disable_unprepare(sport->clk);
|
|
|
clk_put(sport->clk);
|
|
|
- clk_disable(sport->clk);
|
|
|
unmap:
|
|
|
iounmap(sport->port.membase);
|
|
|
free:
|
|
@@ -1552,11 +1552,10 @@ static int serial_imx_remove(struct platform_device *pdev)
|
|
|
|
|
|
if (sport) {
|
|
|
uart_remove_one_port(&imx_reg, &sport->port);
|
|
|
+ clk_disable_unprepare(sport->clk);
|
|
|
clk_put(sport->clk);
|
|
|
}
|
|
|
|
|
|
- clk_disable(sport->clk);
|
|
|
-
|
|
|
if (pdata && pdata->exit)
|
|
|
pdata->exit(pdev);
|
|
|
|