@@ -276,17 +276,11 @@ static int fsl_edma_probe(struct platform_device *pdev)
276
276
regs = & fsl_edma -> regs ;
277
277
278
278
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" );
280
280
if (IS_ERR (fsl_edma -> dmaclk )) {
281
281
dev_err (& pdev -> dev , "Missing DMA block clock.\n" );
282
282
return PTR_ERR (fsl_edma -> dmaclk );
283
283
}
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
- }
290
284
}
291
285
292
286
for (i = 0 ; i < fsl_edma -> drvdata -> dmamuxs ; i ++ ) {
@@ -301,19 +295,12 @@ static int fsl_edma_probe(struct platform_device *pdev)
301
295
}
302
296
303
297
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 );
305
299
if (IS_ERR (fsl_edma -> muxclk [i ])) {
306
300
dev_err (& pdev -> dev , "Missing DMAMUX block clock.\n" );
307
301
/* on error: disable all previously enabled clks */
308
- fsl_disable_clocks (fsl_edma , i );
309
302
return PTR_ERR (fsl_edma -> muxclk [i ]);
310
303
}
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
-
317
304
}
318
305
319
306
fsl_edma -> big_endian = of_property_read_bool (np , "big-endian" );
@@ -374,7 +361,6 @@ static int fsl_edma_probe(struct platform_device *pdev)
374
361
if (ret ) {
375
362
dev_err (& pdev -> dev ,
376
363
"Can't register Freescale eDMA engine. (%d)\n" , ret );
377
- fsl_disable_clocks (fsl_edma , fsl_edma -> drvdata -> dmamuxs );
378
364
return ret ;
379
365
}
380
366
@@ -383,7 +369,6 @@ static int fsl_edma_probe(struct platform_device *pdev)
383
369
dev_err (& pdev -> dev ,
384
370
"Can't register Freescale eDMA of_dma. (%d)\n" , ret );
385
371
dma_async_device_unregister (& fsl_edma -> dma_dev );
386
- fsl_disable_clocks (fsl_edma , fsl_edma -> drvdata -> dmamuxs );
387
372
return ret ;
388
373
}
389
374
0 commit comments