diff options
-rw-r--r-- | drivers/tty/serial/amba-pl010.c | 15 | ||||
-rw-r--r-- | drivers/tty/serial/amba-pl011.c | 15 |
2 files changed, 8 insertions, 22 deletions
diff --git a/drivers/tty/serial/amba-pl010.c b/drivers/tty/serial/amba-pl010.c index 0d91a540bf11..22317dd16474 100644 --- a/drivers/tty/serial/amba-pl010.c +++ b/drivers/tty/serial/amba-pl010.c | |||
@@ -312,16 +312,12 @@ static int pl010_startup(struct uart_port *port) | |||
312 | struct uart_amba_port *uap = (struct uart_amba_port *)port; | 312 | struct uart_amba_port *uap = (struct uart_amba_port *)port; |
313 | int retval; | 313 | int retval; |
314 | 314 | ||
315 | retval = clk_prepare(uap->clk); | ||
316 | if (retval) | ||
317 | goto out; | ||
318 | |||
319 | /* | 315 | /* |
320 | * Try to enable the clock producer. | 316 | * Try to enable the clock producer. |
321 | */ | 317 | */ |
322 | retval = clk_enable(uap->clk); | 318 | retval = clk_prepare_enable(uap->clk); |
323 | if (retval) | 319 | if (retval) |
324 | goto clk_unprep; | 320 | goto out; |
325 | 321 | ||
326 | uap->port.uartclk = clk_get_rate(uap->clk); | 322 | uap->port.uartclk = clk_get_rate(uap->clk); |
327 | 323 | ||
@@ -346,9 +342,7 @@ static int pl010_startup(struct uart_port *port) | |||
346 | return 0; | 342 | return 0; |
347 | 343 | ||
348 | clk_dis: | 344 | clk_dis: |
349 | clk_disable(uap->clk); | 345 | clk_disable_unprepare(uap->clk); |
350 | clk_unprep: | ||
351 | clk_unprepare(uap->clk); | ||
352 | out: | 346 | out: |
353 | return retval; | 347 | return retval; |
354 | } | 348 | } |
@@ -375,8 +369,7 @@ static void pl010_shutdown(struct uart_port *port) | |||
375 | /* | 369 | /* |
376 | * Shut down the clock producer | 370 | * Shut down the clock producer |
377 | */ | 371 | */ |
378 | clk_disable(uap->clk); | 372 | clk_disable_unprepare(uap->clk); |
379 | clk_unprepare(uap->clk); | ||
380 | } | 373 | } |
381 | 374 | ||
382 | static void | 375 | static void |
diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c index 92b1ac8db63d..3322023e38aa 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c | |||
@@ -1324,16 +1324,12 @@ static int pl011_startup(struct uart_port *port) | |||
1324 | "could not set default pins\n"); | 1324 | "could not set default pins\n"); |
1325 | } | 1325 | } |
1326 | 1326 | ||
1327 | retval = clk_prepare(uap->clk); | ||
1328 | if (retval) | ||
1329 | goto out; | ||
1330 | |||
1331 | /* | 1327 | /* |
1332 | * Try to enable the clock producer. | 1328 | * Try to enable the clock producer. |
1333 | */ | 1329 | */ |
1334 | retval = clk_enable(uap->clk); | 1330 | retval = clk_prepare_enable(uap->clk); |
1335 | if (retval) | 1331 | if (retval) |
1336 | goto clk_unprep; | 1332 | goto out; |
1337 | 1333 | ||
1338 | uap->port.uartclk = clk_get_rate(uap->clk); | 1334 | uap->port.uartclk = clk_get_rate(uap->clk); |
1339 | 1335 | ||
@@ -1411,9 +1407,7 @@ static int pl011_startup(struct uart_port *port) | |||
1411 | return 0; | 1407 | return 0; |
1412 | 1408 | ||
1413 | clk_dis: | 1409 | clk_dis: |
1414 | clk_disable(uap->clk); | 1410 | clk_disable_unprepare(uap->clk); |
1415 | clk_unprep: | ||
1416 | clk_unprepare(uap->clk); | ||
1417 | out: | 1411 | out: |
1418 | return retval; | 1412 | return retval; |
1419 | } | 1413 | } |
@@ -1473,8 +1467,7 @@ static void pl011_shutdown(struct uart_port *port) | |||
1473 | /* | 1467 | /* |
1474 | * Shut down the clock producer | 1468 | * Shut down the clock producer |
1475 | */ | 1469 | */ |
1476 | clk_disable(uap->clk); | 1470 | clk_disable_unprepare(uap->clk); |
1477 | clk_unprepare(uap->clk); | ||
1478 | /* Optionally let pins go into sleep states */ | 1471 | /* Optionally let pins go into sleep states */ |
1479 | if (!IS_ERR(uap->pins_sleep)) { | 1472 | if (!IS_ERR(uap->pins_sleep)) { |
1480 | retval = pinctrl_select_state(uap->pinctrl, uap->pins_sleep); | 1473 | retval = pinctrl_select_state(uap->pinctrl, uap->pins_sleep); |