@@ -276,17 +276,11 @@ static int fsl_edma_probe(struct platform_device *pdev)
276276 regs = & fsl_edma -> regs ;
277277
278278 if (drvdata -> flags & FSL_EDMA_DRV_HAS_DMACLK ) {
279- fsl_edma -> dmaclk = devm_clk_get (& pdev -> dev , "dma" );
279+ fsl_edma -> dmaclk = devm_clk_get_enabled (& pdev -> dev , "dma" );
280280 if (IS_ERR (fsl_edma -> dmaclk )) {
281281 dev_err (& pdev -> dev , "Missing DMA block clock.\n" );
282282 return PTR_ERR (fsl_edma -> dmaclk );
283283 }
284-
285- ret = clk_prepare_enable (fsl_edma -> dmaclk );
286- if (ret ) {
287- dev_err (& pdev -> dev , "DMA clk block failed.\n" );
288- return ret ;
289- }
290284 }
291285
292286 for (i = 0 ; i < fsl_edma -> drvdata -> dmamuxs ; i ++ ) {
@@ -301,19 +295,12 @@ static int fsl_edma_probe(struct platform_device *pdev)
301295 }
302296
303297 sprintf (clkname , "dmamux%d" , i );
304- fsl_edma -> muxclk [i ] = devm_clk_get (& pdev -> dev , clkname );
298+ fsl_edma -> muxclk [i ] = devm_clk_get_enabled (& pdev -> dev , clkname );
305299 if (IS_ERR (fsl_edma -> muxclk [i ])) {
306300 dev_err (& pdev -> dev , "Missing DMAMUX block clock.\n" );
307301 /* on error: disable all previously enabled clks */
308- fsl_disable_clocks (fsl_edma , i );
309302 return PTR_ERR (fsl_edma -> muxclk [i ]);
310303 }
311-
312- ret = clk_prepare_enable (fsl_edma -> muxclk [i ]);
313- if (ret )
314- /* on error: disable all previously enabled clks */
315- fsl_disable_clocks (fsl_edma , i );
316-
317304 }
318305
319306 fsl_edma -> big_endian = of_property_read_bool (np , "big-endian" );
@@ -374,7 +361,6 @@ static int fsl_edma_probe(struct platform_device *pdev)
374361 if (ret ) {
375362 dev_err (& pdev -> dev ,
376363 "Can't register Freescale eDMA engine. (%d)\n" , ret );
377- fsl_disable_clocks (fsl_edma , fsl_edma -> drvdata -> dmamuxs );
378364 return ret ;
379365 }
380366
@@ -383,7 +369,6 @@ static int fsl_edma_probe(struct platform_device *pdev)
383369 dev_err (& pdev -> dev ,
384370 "Can't register Freescale eDMA of_dma. (%d)\n" , ret );
385371 dma_async_device_unregister (& fsl_edma -> dma_dev );
386- fsl_disable_clocks (fsl_edma , fsl_edma -> drvdata -> dmamuxs );
387372 return ret ;
388373 }
389374
0 commit comments