提交 198ad2ce 编写于 作者: S Sascha Hauer

USB ehci mxc: prepare/unprepare clock

Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de>
上级 97c3213f
...@@ -171,7 +171,7 @@ static int ehci_mxc_drv_probe(struct platform_device *pdev) ...@@ -171,7 +171,7 @@ static int ehci_mxc_drv_probe(struct platform_device *pdev)
ret = PTR_ERR(priv->usbclk); ret = PTR_ERR(priv->usbclk);
goto err_clk; goto err_clk;
} }
clk_enable(priv->usbclk); clk_prepare_enable(priv->usbclk);
if (!cpu_is_mx35() && !cpu_is_mx25()) { if (!cpu_is_mx35() && !cpu_is_mx25()) {
priv->ahbclk = clk_get(dev, "usb_ahb"); priv->ahbclk = clk_get(dev, "usb_ahb");
...@@ -179,7 +179,7 @@ static int ehci_mxc_drv_probe(struct platform_device *pdev) ...@@ -179,7 +179,7 @@ static int ehci_mxc_drv_probe(struct platform_device *pdev)
ret = PTR_ERR(priv->ahbclk); ret = PTR_ERR(priv->ahbclk);
goto err_clk_ahb; goto err_clk_ahb;
} }
clk_enable(priv->ahbclk); clk_prepare_enable(priv->ahbclk);
} }
/* "dr" device has its own clock on i.MX51 */ /* "dr" device has its own clock on i.MX51 */
...@@ -189,7 +189,7 @@ static int ehci_mxc_drv_probe(struct platform_device *pdev) ...@@ -189,7 +189,7 @@ static int ehci_mxc_drv_probe(struct platform_device *pdev)
ret = PTR_ERR(priv->phy1clk); ret = PTR_ERR(priv->phy1clk);
goto err_clk_phy; goto err_clk_phy;
} }
clk_enable(priv->phy1clk); clk_prepare_enable(priv->phy1clk);
} }
...@@ -266,16 +266,16 @@ static int ehci_mxc_drv_probe(struct platform_device *pdev) ...@@ -266,16 +266,16 @@ static int ehci_mxc_drv_probe(struct platform_device *pdev)
pdata->exit(pdev); pdata->exit(pdev);
err_init: err_init:
if (priv->phy1clk) { if (priv->phy1clk) {
clk_disable(priv->phy1clk); clk_disable_unprepare(priv->phy1clk);
clk_put(priv->phy1clk); clk_put(priv->phy1clk);
} }
err_clk_phy: err_clk_phy:
if (priv->ahbclk) { if (priv->ahbclk) {
clk_disable(priv->ahbclk); clk_disable_unprepare(priv->ahbclk);
clk_put(priv->ahbclk); clk_put(priv->ahbclk);
} }
err_clk_ahb: err_clk_ahb:
clk_disable(priv->usbclk); clk_disable_unprepare(priv->usbclk);
clk_put(priv->usbclk); clk_put(priv->usbclk);
err_clk: err_clk:
iounmap(hcd->regs); iounmap(hcd->regs);
...@@ -307,14 +307,14 @@ static int __exit ehci_mxc_drv_remove(struct platform_device *pdev) ...@@ -307,14 +307,14 @@ static int __exit ehci_mxc_drv_remove(struct platform_device *pdev)
usb_put_hcd(hcd); usb_put_hcd(hcd);
platform_set_drvdata(pdev, NULL); platform_set_drvdata(pdev, NULL);
clk_disable(priv->usbclk); clk_disable_unprepare(priv->usbclk);
clk_put(priv->usbclk); clk_put(priv->usbclk);
if (priv->ahbclk) { if (priv->ahbclk) {
clk_disable(priv->ahbclk); clk_disable_unprepare(priv->ahbclk);
clk_put(priv->ahbclk); clk_put(priv->ahbclk);
} }
if (priv->phy1clk) { if (priv->phy1clk) {
clk_disable(priv->phy1clk); clk_disable_unprepare(priv->phy1clk);
clk_put(priv->phy1clk); clk_put(priv->phy1clk);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册