lkml.org 
[lkml]   [2021]   [Mar]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 09/14] mmc: sdhci-msm: Convert to use resource-managed OPP API
    Date
    From: Yangtao Li <tiny.windzz@gmail.com>

    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>
    ---
    drivers/mmc/host/sdhci-msm.c | 20 +++++++-------------
    1 file changed, 7 insertions(+), 13 deletions(-)

    diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
    index 5e1da4df096f..af3f7bd764e8 100644
    --- a/drivers/mmc/host/sdhci-msm.c
    +++ b/drivers/mmc/host/sdhci-msm.c
    @@ -264,7 +264,6 @@ struct sdhci_msm_host {
    struct clk_bulk_data bulk_clks[5];
    unsigned long clk_rate;
    struct mmc_host *mmc;
    - struct opp_table *opp_table;
    bool use_14lpp_dll_reset;
    bool tuning_done;
    bool calibration_done;
    @@ -2483,6 +2482,7 @@ static int sdhci_msm_probe(struct platform_device *pdev)
    const struct sdhci_msm_offset *msm_offset;
    const struct sdhci_msm_variant_info *var_info;
    struct device_node *node = pdev->dev.of_node;
    + struct opp_table *opp_table;

    host = sdhci_pltfm_init(pdev, &sdhci_msm_pdata, sizeof(*msm_host));
    if (IS_ERR(host))
    @@ -2551,17 +2551,17 @@ static int sdhci_msm_probe(struct platform_device *pdev)
    if (ret)
    goto bus_clk_disable;

    - msm_host->opp_table = dev_pm_opp_set_clkname(&pdev->dev, "core");
    - if (IS_ERR(msm_host->opp_table)) {
    - ret = PTR_ERR(msm_host->opp_table);
    + opp_table = devm_pm_opp_set_clkname(&pdev->dev, "core");
    + if (IS_ERR(opp_table)) {
    + ret = PTR_ERR(opp_table);
    goto bus_clk_disable;
    }

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

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

    /*
    * xo clock is needed for FLL feature of cm_dll.
    @@ -2732,10 +2732,6 @@ static int sdhci_msm_probe(struct platform_device *pdev)
    clk_disable:
    clk_bulk_disable_unprepare(ARRAY_SIZE(msm_host->bulk_clks),
    msm_host->bulk_clks);
    -opp_cleanup:
    - dev_pm_opp_of_remove_table(&pdev->dev);
    -opp_put_clkname:
    - dev_pm_opp_put_clkname(msm_host->opp_table);
    bus_clk_disable:
    if (!IS_ERR(msm_host->bus_clk))
    clk_disable_unprepare(msm_host->bus_clk);
    @@ -2754,8 +2750,6 @@ static int sdhci_msm_remove(struct platform_device *pdev)

    sdhci_remove_host(host, dead);

    - dev_pm_opp_of_remove_table(&pdev->dev);
    - dev_pm_opp_put_clkname(msm_host->opp_table);
    pm_runtime_get_sync(&pdev->dev);
    pm_runtime_disable(&pdev->dev);
    pm_runtime_put_noidle(&pdev->dev);
    --
    2.29.2
    \
     
     \ /
      Last update: 2021-03-11 20:24    [W:4.131 / U:0.264 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site