diff options
author | Roger Quadros <rogerq@ti.com> | 2013-10-15 08:30:34 -0400 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2013-10-23 11:22:25 -0400 |
commit | b0e5992612a1079ddcc1810b786ab8ca438cddae (patch) | |
tree | 68f303a71b3dd61f4c2f442f9e541137b6231a13 /drivers/mfd/omap-usb-host.c | |
parent | 2a048d3b787e154e06a21f5f0951a319b6ada4fb (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.c | 16 |
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 | ||