Upgrade to 4.4.50-rt62
[kvmfornfv.git] / kernel / drivers / mfd / omap-usb-tll.c
index b7b3e8e..c30290f 100644 (file)
@@ -269,6 +269,8 @@ static int usbtll_omap_probe(struct platform_device *pdev)
 
                if (IS_ERR(tll->ch_clk[i]))
                        dev_dbg(dev, "can't get clock : %s\n", clkname);
+               else
+                       clk_prepare(tll->ch_clk[i]);
        }
 
        pm_runtime_put_sync(dev);
@@ -301,9 +303,12 @@ static int usbtll_omap_remove(struct platform_device *pdev)
        tll_dev = NULL;
        spin_unlock(&tll_lock);
 
-       for (i = 0; i < tll->nch; i++)
-               if (!IS_ERR(tll->ch_clk[i]))
+       for (i = 0; i < tll->nch; i++) {
+               if (!IS_ERR(tll->ch_clk[i])) {
+                       clk_unprepare(tll->ch_clk[i]);
                        clk_put(tll->ch_clk[i]);
+               }
+       }
 
        pm_runtime_disable(&pdev->dev);
        return 0;
@@ -420,7 +425,7 @@ int omap_tll_enable(struct usbhs_omap_platform_data *pdata)
                        if (IS_ERR(tll->ch_clk[i]))
                                continue;
 
-                       r = clk_prepare_enable(tll->ch_clk[i]);
+                       r = clk_enable(tll->ch_clk[i]);
                        if (r) {
                                dev_err(tll_dev,
                                 "Error enabling ch %d clock: %d\n", i, r);
@@ -448,7 +453,7 @@ int omap_tll_disable(struct usbhs_omap_platform_data *pdata)
        for (i = 0; i < tll->nch; i++) {
                if (omap_usb_mode_needs_tll(pdata->port_mode[i])) {
                        if (!IS_ERR(tll->ch_clk[i]))
-                               clk_disable_unprepare(tll->ch_clk[i]);
+                               clk_disable(tll->ch_clk[i]);
                }
        }