@@ -269,6 +269,8 @@ static int usbtll_omap_probe(struct platform_device *pdev)
269269
270270 if (IS_ERR (tll -> ch_clk [i ]))
271271 dev_dbg (dev , "can't get clock : %s\n" , clkname );
272+ else
273+ clk_prepare (tll -> ch_clk [i ]);
272274 }
273275
274276 pm_runtime_put_sync (dev );
@@ -301,9 +303,12 @@ static int usbtll_omap_remove(struct platform_device *pdev)
301303 tll_dev = NULL ;
302304 spin_unlock (& tll_lock );
303305
304- for (i = 0 ; i < tll -> nch ; i ++ )
305- if (!IS_ERR (tll -> ch_clk [i ]))
306+ for (i = 0 ; i < tll -> nch ; i ++ ) {
307+ if (!IS_ERR (tll -> ch_clk [i ])) {
308+ clk_unprepare (tll -> ch_clk [i ]);
306309 clk_put (tll -> ch_clk [i ]);
310+ }
311+ }
307312
308313 pm_runtime_disable (& pdev -> dev );
309314 return 0 ;
@@ -420,7 +425,7 @@ int omap_tll_enable(struct usbhs_omap_platform_data *pdata)
420425 if (IS_ERR (tll -> ch_clk [i ]))
421426 continue ;
422427
423- r = clk_prepare_enable (tll -> ch_clk [i ]);
428+ r = clk_enable (tll -> ch_clk [i ]);
424429 if (r ) {
425430 dev_err (tll_dev ,
426431 "Error enabling ch %d clock: %d\n" , i , r );
@@ -448,7 +453,7 @@ int omap_tll_disable(struct usbhs_omap_platform_data *pdata)
448453 for (i = 0 ; i < tll -> nch ; i ++ ) {
449454 if (omap_usb_mode_needs_tll (pdata -> port_mode [i ])) {
450455 if (!IS_ERR (tll -> ch_clk [i ]))
451- clk_disable_unprepare (tll -> ch_clk [i ]);
456+ clk_disable (tll -> ch_clk [i ]);
452457 }
453458 }
454459
0 commit comments