Re: [PATCH v3 4/6] drm/msm/dsi: Use the new regulator bulk feature to specify the load

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/08/2022 01:37, Douglas Anderson wrote:
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@xxxxxxxxxxxx>

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>

It might have been better, if the previous patch had only removed the load_setting on disable and inlined the dsi_host_regulator_disable(). Then this patch would drop the regulator_set_load() from dsi_host_regulator_enable() path and inline it. Then it would have been more obvious that after these two changes the time when we set loads is not changed.

---

Changes in v3:
- Update commit message to point at the git hash of the regulator change.

Changes in v2:
- ("Use the new regulator bulk feature to specify the load") new for v2.

  drivers/gpu/drm/msm/dsi/dsi_host.c    | 13 +++----------
  drivers/gpu/drm/msm/dsi/phy/dsi_phy.c | 13 +++----------
  2 files changed, 6 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c
index 9df278d39559..a0a1b6d61d05 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_host.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
@@ -260,8 +260,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) {
@@ -270,15 +272,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;
  }
diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
index 7c105120d73e..efb6b1726cdb 100644
--- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
+++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
@@ -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;
  }


--
With best wishes
Dmitry



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux