Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iio: adc: rockchip_saradc: Make use of devm_clk_get_enabled

Use devm_clk_get_enabled() to avoid manually disabling the
clock.

Signed-off-by: Shreeya Patel <shreeya.patel@collabora.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20230603185340.13838-4-shreeya.patel@collabora.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

Shreeya Patel and committed by
Jonathan Cameron
97ad10bb 757953f8

+8 -48
+8 -48
drivers/iio/adc/rockchip_saradc.c
··· 346 346 reset_control_deassert(reset); 347 347 } 348 348 349 - static void rockchip_saradc_clk_disable(void *data) 350 - { 351 - struct rockchip_saradc *info = data; 352 - 353 - clk_disable_unprepare(info->clk); 354 - } 355 - 356 - static void rockchip_saradc_pclk_disable(void *data) 357 - { 358 - struct rockchip_saradc *info = data; 359 - 360 - clk_disable_unprepare(info->pclk); 361 - } 362 - 363 349 static void rockchip_saradc_regulator_disable(void *data) 364 350 { 365 351 struct rockchip_saradc *info = data; ··· 479 493 return ret; 480 494 } 481 495 482 - info->pclk = devm_clk_get(&pdev->dev, "apb_pclk"); 483 - if (IS_ERR(info->pclk)) 484 - return dev_err_probe(&pdev->dev, PTR_ERR(info->pclk), 485 - "failed to get pclk\n"); 486 - 487 - info->clk = devm_clk_get(&pdev->dev, "saradc"); 488 - if (IS_ERR(info->clk)) 489 - return dev_err_probe(&pdev->dev, PTR_ERR(info->clk), 490 - "failed to get adc clock\n"); 491 - 492 496 info->vref = devm_regulator_get(&pdev->dev, "vref"); 493 497 if (IS_ERR(info->vref)) 494 498 return dev_err_probe(&pdev->dev, PTR_ERR(info->vref), ··· 516 540 517 541 info->uv_vref = ret; 518 542 519 - ret = clk_prepare_enable(info->pclk); 520 - if (ret < 0) { 521 - dev_err(&pdev->dev, "failed to enable pclk\n"); 522 - return ret; 523 - } 524 - ret = devm_add_action_or_reset(&pdev->dev, 525 - rockchip_saradc_pclk_disable, info); 526 - if (ret) { 527 - dev_err(&pdev->dev, "failed to register devm action, %d\n", 528 - ret); 529 - return ret; 530 - } 543 + info->pclk = devm_clk_get_enabled(&pdev->dev, "apb_pclk"); 544 + if (IS_ERR(info->pclk)) 545 + return dev_err_probe(&pdev->dev, PTR_ERR(info->pclk), 546 + "failed to get pclk\n"); 531 547 532 - ret = clk_prepare_enable(info->clk); 533 - if (ret < 0) { 534 - dev_err(&pdev->dev, "failed to enable converter clock\n"); 535 - return ret; 536 - } 537 - ret = devm_add_action_or_reset(&pdev->dev, 538 - rockchip_saradc_clk_disable, info); 539 - if (ret) { 540 - dev_err(&pdev->dev, "failed to register devm action, %d\n", 541 - ret); 542 - return ret; 543 - } 548 + info->clk = devm_clk_get_enabled(&pdev->dev, "saradc"); 549 + if (IS_ERR(info->clk)) 550 + return dev_err_probe(&pdev->dev, PTR_ERR(info->clk), 551 + "failed to get adc clock\n"); 544 552 545 553 platform_set_drvdata(pdev, indio_dev); 546 554