aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd/omap-usb-host.c
diff options
context:
space:
mode:
authorRoger Quadros <rogerq@ti.com>2013-10-15 08:30:34 -0400
committerLee Jones <lee.jones@linaro.org>2013-10-23 11:22:25 -0400
commitb0e5992612a1079ddcc1810b786ab8ca438cddae (patch)
tree68f303a71b3dd61f4c2f442f9e541137b6231a13 /drivers/mfd/omap-usb-host.c
parent2a048d3b787e154e06a21f5f0951a319b6ada4fb (diff)
mfd: omap-usb: prepare/unprepare clock while enable/disable
This should fix the following warning at boot on OMAP5 uEVM [ 8.783155] WARNING: CPU: 0 PID: 1 at drivers/clk/clk.c:883 __clk_enable+0x94/0xa4() Signed-off-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers/mfd/omap-usb-host.c')
-rw-r--r--drivers/mfd/omap-usb-host.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
index 1b65ffe08ff9..142650fdc058 100644
--- a/drivers/mfd/omap-usb-host.c
+++ b/drivers/mfd/omap-usb-host.c
@@ -328,13 +328,13 @@ static int usbhs_runtime_resume(struct device *dev)
328 omap_tll_enable(pdata); 328 omap_tll_enable(pdata);
329 329
330 if (!IS_ERR(omap->ehci_logic_fck)) 330 if (!IS_ERR(omap->ehci_logic_fck))
331 clk_enable(omap->ehci_logic_fck); 331 clk_prepare_enable(omap->ehci_logic_fck);
332 332
333 for (i = 0; i < omap->nports; i++) { 333 for (i = 0; i < omap->nports; i++) {
334 switch (pdata->port_mode[i]) { 334 switch (pdata->port_mode[i]) {
335 case OMAP_EHCI_PORT_MODE_HSIC: 335 case OMAP_EHCI_PORT_MODE_HSIC:
336 if (!IS_ERR(omap->hsic60m_clk[i])) { 336 if (!IS_ERR(omap->hsic60m_clk[i])) {
337 r = clk_enable(omap->hsic60m_clk[i]); 337 r = clk_prepare_enable(omap->hsic60m_clk[i]);
338 if (r) { 338 if (r) {
339 dev_err(dev, 339 dev_err(dev,
340 "Can't enable port %d hsic60m clk:%d\n", 340 "Can't enable port %d hsic60m clk:%d\n",
@@ -343,7 +343,7 @@ static int usbhs_runtime_resume(struct device *dev)
343 } 343 }
344 344
345 if (!IS_ERR(omap->hsic480m_clk[i])) { 345 if (!IS_ERR(omap->hsic480m_clk[i])) {
346 r = clk_enable(omap->hsic480m_clk[i]); 346 r = clk_prepare_enable(omap->hsic480m_clk[i]);
347 if (r) { 347 if (r) {
348 dev_err(dev, 348 dev_err(dev,
349 "Can't enable port %d hsic480m clk:%d\n", 349 "Can't enable port %d hsic480m clk:%d\n",
@@ -354,7 +354,7 @@ static int usbhs_runtime_resume(struct device *dev)
354 354
355 case OMAP_EHCI_PORT_MODE_TLL: 355 case OMAP_EHCI_PORT_MODE_TLL:
356 if (!IS_ERR(omap->utmi_clk[i])) { 356 if (!IS_ERR(omap->utmi_clk[i])) {
357 r = clk_enable(omap->utmi_clk[i]); 357 r = clk_prepare_enable(omap->utmi_clk[i]);
358 if (r) { 358 if (r) {
359 dev_err(dev, 359 dev_err(dev,
360 "Can't enable port %d clk : %d\n", 360 "Can't enable port %d clk : %d\n",
@@ -382,15 +382,15 @@ static int usbhs_runtime_suspend(struct device *dev)
382 switch (pdata->port_mode[i]) { 382 switch (pdata->port_mode[i]) {
383 case OMAP_EHCI_PORT_MODE_HSIC: 383 case OMAP_EHCI_PORT_MODE_HSIC:
384 if (!IS_ERR(omap->hsic60m_clk[i])) 384 if (!IS_ERR(omap->hsic60m_clk[i]))
385 clk_disable(omap->hsic60m_clk[i]); 385 clk_disable_unprepare(omap->hsic60m_clk[i]);
386 386
387 if (!IS_ERR(omap->hsic480m_clk[i])) 387 if (!IS_ERR(omap->hsic480m_clk[i]))
388 clk_disable(omap->hsic480m_clk[i]); 388 clk_disable_unprepare(omap->hsic480m_clk[i]);
389 /* Fall through as utmi_clks were used in HSIC mode */ 389 /* Fall through as utmi_clks were used in HSIC mode */
390 390
391 case OMAP_EHCI_PORT_MODE_TLL: 391 case OMAP_EHCI_PORT_MODE_TLL:
392 if (!IS_ERR(omap->utmi_clk[i])) 392 if (!IS_ERR(omap->utmi_clk[i]))
393 clk_disable(omap->utmi_clk[i]); 393 clk_disable_unprepare(omap->utmi_clk[i]);
394 break; 394 break;
395 default: 395 default:
396 break; 396 break;
@@ -398,7 +398,7 @@ static int usbhs_runtime_suspend(struct device *dev)
398 } 398 }
399 399
400 if (!IS_ERR(omap->ehci_logic_fck)) 400 if (!IS_ERR(omap->ehci_logic_fck))
401 clk_disable(omap->ehci_logic_fck); 401 clk_disable_unprepare(omap->ehci_logic_fck);
402 402
403 omap_tll_disable(pdata); 403 omap_tll_disable(pdata);
404 404