Hi, On 08/18/2015 11:04 PM, Bjorn Andersson wrote: > In some configurations the supplies are voltage switches and not LDOs, > making the set voltage call to fail. Check with the regulator framework > if the supply can change voltage before attempting. > > Signed-off-by: Bjorn Andersson <bjorn.andersson at sonymobile.com> > --- > drivers/gpu/drm/msm/dsi/dsi_host.c | 2 +- > drivers/gpu/drm/msm/dsi/phy/dsi_phy.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c > b/drivers/gpu/drm/msm/dsi/dsi_host.c > index 8c16d6a3ca78..ece3de6a8157 100644 > --- a/drivers/gpu/drm/msm/dsi/dsi_host.c > +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c > @@ -278,7 +278,7 @@ static int dsi_regulator_init(struct msm_dsi_host > *msm_host) > } > > for (i = 0; i < num; i++) { > - if ((regs[i].min_voltage >= 0) && (regs[i].max_voltage >= 0)) { > + if (regulator_can_change_voltage(s[i].consumer)) { > ret = regulator_set_voltage(s[i].consumer, > regs[i].min_voltage, regs[i].max_voltage); > if (ret < 0) { > diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c > b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c > index 401ff58d6893..f1f955f571fa 100644 > --- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c > +++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c > @@ -178,7 +178,7 @@ static int dsi_phy_regulator_init(struct msm_dsi_phy *phy) > } > > for (i = 0; i < num; i++) { > - if ((regs[i].min_voltage >= 0) && (regs[i].max_voltage >= 0)) { > + if (regulator_can_change_voltage(s[i].consumer)) { > ret = regulator_set_voltage(s[i].consumer, > regs[i].min_voltage, regs[i].max_voltage); > if (ret < 0) { >
Looks good to me. Reviewed-by: Archit Taneja <architt at codeaurora.org> Archit -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project