@@ -1366,10 +1366,6 @@ struct pmic_wrapper {
13661366 struct regmap * regmap ;
13671367 const struct pmic_wrapper_type * master ;
13681368 const struct pwrap_slv_type * slave ;
1369- struct clk * clk_spi ;
1370- struct clk * clk_wrap ;
1371- struct clk * clk_sys ;
1372- struct clk * clk_tmr ;
13731369 struct reset_control * rstc ;
13741370
13751371 struct reset_control * rstc_bridge ;
@@ -2472,6 +2468,7 @@ static int pwrap_probe(struct platform_device *pdev)
24722468 int ret , irq ;
24732469 u32 mask_done ;
24742470 struct pmic_wrapper * wrp ;
2471+ struct clk_bulk_data * clk ;
24752472 struct device_node * np = pdev -> dev .of_node ;
24762473 const struct of_device_id * of_slave_id = NULL ;
24772474
@@ -2521,49 +2518,10 @@ static int pwrap_probe(struct platform_device *pdev)
25212518 }
25222519 }
25232520
2524- wrp -> clk_spi = devm_clk_get (wrp -> dev , "spi" );
2525- if (IS_ERR (wrp -> clk_spi )) {
2526- dev_dbg (wrp -> dev , "failed to get clock: %ld\n" ,
2527- PTR_ERR (wrp -> clk_spi ));
2528- return PTR_ERR (wrp -> clk_spi );
2529- }
2530-
2531- wrp -> clk_wrap = devm_clk_get (wrp -> dev , "wrap" );
2532- if (IS_ERR (wrp -> clk_wrap )) {
2533- dev_dbg (wrp -> dev , "failed to get clock: %ld\n" ,
2534- PTR_ERR (wrp -> clk_wrap ));
2535- return PTR_ERR (wrp -> clk_wrap );
2536- }
2537-
2538- wrp -> clk_sys = devm_clk_get_optional (wrp -> dev , "sys" );
2539- if (IS_ERR (wrp -> clk_sys )) {
2540- return dev_err_probe (wrp -> dev , PTR_ERR (wrp -> clk_sys ),
2541- "failed to get clock: %pe\n" ,
2542- wrp -> clk_sys );
2543- }
2544-
2545- wrp -> clk_tmr = devm_clk_get_optional (wrp -> dev , "tmr" );
2546- if (IS_ERR (wrp -> clk_tmr )) {
2547- return dev_err_probe (wrp -> dev , PTR_ERR (wrp -> clk_tmr ),
2548- "failed to get clock: %pe\n" ,
2549- wrp -> clk_tmr );
2550- }
2551-
2552- ret = clk_prepare_enable (wrp -> clk_spi );
2553- if (ret )
2554- return ret ;
2555-
2556- ret = clk_prepare_enable (wrp -> clk_wrap );
2521+ ret = devm_clk_bulk_get_all_enable (wrp -> dev , & clk );
25572522 if (ret )
2558- goto err_out1 ;
2559-
2560- ret = clk_prepare_enable (wrp -> clk_sys );
2561- if (ret )
2562- goto err_out2 ;
2563-
2564- ret = clk_prepare_enable (wrp -> clk_tmr );
2565- if (ret )
2566- goto err_out3 ;
2523+ return dev_err_probe (wrp -> dev , ret ,
2524+ "failed to get clocks\n" );
25672525
25682526 /* Enable internal dynamic clock */
25692527 if (HAS_CAP (wrp -> master -> caps , PWRAP_CAP_DCM )) {
@@ -2579,7 +2537,7 @@ static int pwrap_probe(struct platform_device *pdev)
25792537 ret = pwrap_init (wrp );
25802538 if (ret ) {
25812539 dev_dbg (wrp -> dev , "init failed with %d\n" , ret );
2582- goto err_out4 ;
2540+ return ret ;
25832541 }
25842542 }
25852543
@@ -2592,8 +2550,7 @@ static int pwrap_probe(struct platform_device *pdev)
25922550
25932551 if (!(pwrap_readl (wrp , PWRAP_WACS2_RDATA ) & mask_done )) {
25942552 dev_dbg (wrp -> dev , "initialization isn't finished\n" );
2595- ret = - ENODEV ;
2596- goto err_out4 ;
2553+ return - ENODEV ;
25972554 }
25982555
25992556 /* Initialize watchdog, may not be done by the bootloader */
@@ -2622,42 +2579,27 @@ static int pwrap_probe(struct platform_device *pdev)
26222579 pwrap_writel (wrp , wrp -> master -> int1_en_all , PWRAP_INT1_EN );
26232580
26242581 irq = platform_get_irq (pdev , 0 );
2625- if (irq < 0 ) {
2626- ret = irq ;
2627- goto err_out2 ;
2628- }
2582+ if (irq < 0 )
2583+ return irq ;
26292584
26302585 ret = devm_request_irq (wrp -> dev , irq , pwrap_interrupt ,
26312586 IRQF_TRIGGER_HIGH ,
26322587 "mt-pmic-pwrap" , wrp );
26332588 if (ret )
2634- goto err_out4 ;
2589+ return ret ;
26352590
26362591 wrp -> regmap = devm_regmap_init (wrp -> dev , NULL , wrp , wrp -> slave -> regops -> regmap );
2637- if (IS_ERR (wrp -> regmap )) {
2638- ret = PTR_ERR (wrp -> regmap );
2639- goto err_out2 ;
2640- }
2592+ if (IS_ERR (wrp -> regmap ))
2593+ return PTR_ERR (wrp -> regmap );
26412594
26422595 ret = of_platform_populate (np , NULL , NULL , wrp -> dev );
26432596 if (ret ) {
26442597 dev_dbg (wrp -> dev , "failed to create child devices at %pOF\n" ,
26452598 np );
2646- goto err_out4 ;
2599+ return ret ;
26472600 }
26482601
26492602 return 0 ;
2650-
2651- err_out4 :
2652- clk_disable_unprepare (wrp -> clk_tmr );
2653- err_out3 :
2654- clk_disable_unprepare (wrp -> clk_sys );
2655- err_out2 :
2656- clk_disable_unprepare (wrp -> clk_wrap );
2657- err_out1 :
2658- clk_disable_unprepare (wrp -> clk_spi );
2659-
2660- return ret ;
26612603}
26622604
26632605static struct platform_driver pwrap_drv = {
0 commit comments