drm/msm/dsi: Use the new regulator bulk feature to specify the load
authorDouglas Anderson <dianders@chromium.org>
Thu, 4 Aug 2022 14:38:51 +0000 (07:38 -0700)
committerRob Clark <robdclark@chromium.org>
Sun, 18 Sep 2022 16:38:05 +0000 (09:38 -0700)
As of commit 6eabfc018e8d ("regulator: core: Allow specifying an
initial load w/ the bulk API") we can now specify the initial load in
the bulk data rather than having to manually call regulator_set_load()
on each regulator. Let's use it.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/496319/
Link: https://lore.kernel.org/r/20220804073608.v4.4.I7b3c72949883846badb073cfeae985c55239da1d@changeid
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/dsi/dsi_host.c
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c

index 99e21d38c7da3c151011805abfc71f15fa2d3c6b..00476c127e53287c46a1bf5e6ce23823a876f5a8 100644 (file)
@@ -262,8 +262,10 @@ static int dsi_regulator_init(struct msm_dsi_host *msm_host)
        int num = msm_host->cfg_hnd->cfg->reg_cfg.num;
        int i, ret;
 
-       for (i = 0; i < num; i++)
+       for (i = 0; i < num; i++) {
                s[i].supply = regs[i].name;
+               s[i].init_load_uA = regs[i].enable_load;
+       }
 
        ret = devm_regulator_bulk_get(&msm_host->pdev->dev, num, s);
        if (ret < 0) {
@@ -272,15 +274,6 @@ static int dsi_regulator_init(struct msm_dsi_host *msm_host)
                return ret;
        }
 
-       for (i = 0; i < num; i++) {
-               if (regs[i].enable_load >= 0) {
-                       ret = regulator_set_load(s[i].consumer,
-                                                regs[i].enable_load);
-                       if (ret < 0)
-                               return ret;
-               }
-       }
-
        return 0;
 }
 
index c341d6ab5d9e5603e4e66ff580318d01d5afaff7..11d0c60bc78f9e1e4ee83fbda361b09315c868d3 100644 (file)
@@ -515,8 +515,10 @@ static int dsi_phy_regulator_init(struct msm_dsi_phy *phy)
        int num = phy->cfg->reg_cfg.num;
        int i, ret;
 
-       for (i = 0; i < num; i++)
+       for (i = 0; i < num; i++) {
                s[i].supply = regs[i].name;
+               s[i].init_load_uA = regs[i].enable_load;
+       }
 
        ret = devm_regulator_bulk_get(dev, num, s);
        if (ret < 0) {
@@ -529,15 +531,6 @@ static int dsi_phy_regulator_init(struct msm_dsi_phy *phy)
                return ret;
        }
 
-       for (i = 0; i < num; i++) {
-               if (regs[i].enable_load >= 0) {
-                       ret = regulator_set_load(s[i].consumer,
-                                                       regs[i].enable_load);
-                       if (ret < 0)
-                               return ret;
-               }
-       }
-
        return 0;
 }