|
@@ -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]);
|
|
|
}
|
|
|
}
|
|
|
|