Skip to content

Commit 411281d

Browse files
TinyWindzzvireshk
authored andcommitted
mmc: sdhci-msm: Convert to use resource-managed OPP API
Use resource-managed OPP API to simplify code. Signed-off-by: Yangtao Li <tiny.windzz@gmail.com> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
1 parent 6504dca commit 411281d

1 file changed

Lines changed: 5 additions & 14 deletions

File tree

drivers/mmc/host/sdhci-msm.c

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,6 @@ struct sdhci_msm_host {
264264
struct clk_bulk_data bulk_clks[5];
265265
unsigned long clk_rate;
266266
struct mmc_host *mmc;
267-
struct opp_table *opp_table;
268267
bool use_14lpp_dll_reset;
269268
bool tuning_done;
270269
bool calibration_done;
@@ -2551,17 +2550,15 @@ static int sdhci_msm_probe(struct platform_device *pdev)
25512550
if (ret)
25522551
goto bus_clk_disable;
25532552

2554-
msm_host->opp_table = dev_pm_opp_set_clkname(&pdev->dev, "core");
2555-
if (IS_ERR(msm_host->opp_table)) {
2556-
ret = PTR_ERR(msm_host->opp_table);
2553+
ret = devm_pm_opp_set_clkname(&pdev->dev, "core");
2554+
if (ret)
25572555
goto bus_clk_disable;
2558-
}
25592556

25602557
/* OPP table is optional */
2561-
ret = dev_pm_opp_of_add_table(&pdev->dev);
2558+
ret = devm_pm_opp_of_add_table(&pdev->dev);
25622559
if (ret && ret != -ENODEV) {
25632560
dev_err(&pdev->dev, "Invalid OPP table in Device tree\n");
2564-
goto opp_put_clkname;
2561+
goto bus_clk_disable;
25652562
}
25662563

25672564
/* Vote for maximum clock rate for maximum performance */
@@ -2587,7 +2584,7 @@ static int sdhci_msm_probe(struct platform_device *pdev)
25872584
ret = clk_bulk_prepare_enable(ARRAY_SIZE(msm_host->bulk_clks),
25882585
msm_host->bulk_clks);
25892586
if (ret)
2590-
goto opp_cleanup;
2587+
goto bus_clk_disable;
25912588

25922589
/*
25932590
* xo clock is needed for FLL feature of cm_dll.
@@ -2732,10 +2729,6 @@ static int sdhci_msm_probe(struct platform_device *pdev)
27322729
clk_disable:
27332730
clk_bulk_disable_unprepare(ARRAY_SIZE(msm_host->bulk_clks),
27342731
msm_host->bulk_clks);
2735-
opp_cleanup:
2736-
dev_pm_opp_of_remove_table(&pdev->dev);
2737-
opp_put_clkname:
2738-
dev_pm_opp_put_clkname(msm_host->opp_table);
27392732
bus_clk_disable:
27402733
if (!IS_ERR(msm_host->bus_clk))
27412734
clk_disable_unprepare(msm_host->bus_clk);
@@ -2754,8 +2747,6 @@ static int sdhci_msm_remove(struct platform_device *pdev)
27542747

27552748
sdhci_remove_host(host, dead);
27562749

2757-
dev_pm_opp_of_remove_table(&pdev->dev);
2758-
dev_pm_opp_put_clkname(msm_host->opp_table);
27592750
pm_runtime_get_sync(&pdev->dev);
27602751
pm_runtime_disable(&pdev->dev);
27612752
pm_runtime_put_noidle(&pdev->dev);

0 commit comments

Comments
 (0)