Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752355AbbH1K1R (ORCPT ); Fri, 28 Aug 2015 06:27:17 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:48918 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751942AbbH1K1P (ORCPT ); Fri, 28 Aug 2015 06:27:15 -0400 Message-ID: <55E0377D.2050603@codeaurora.org> Date: Fri, 28 Aug 2015 15:57:09 +0530 From: Archit Taneja User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Bjorn Andersson , Rob Clark , Hai Li CC: Stephane Viau , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm: msm: dsi: Don't attempt changing voltage of switches References: <1439919272-19793-1-git-send-email-bjorn.andersson@sonymobile.com> In-Reply-To: <1439919272-19793-1-git-send-email-bjorn.andersson@sonymobile.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2106 Lines: 55 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 > --- > 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 Archit -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/