Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751703AbdFEKgS (ORCPT ); Mon, 5 Jun 2017 06:36:18 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:53208 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751338AbdFEKgR (ORCPT ); Mon, 5 Jun 2017 06:36:17 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 139896079D Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=tirupath@codeaurora.org Subject: Re: [PATCH V1] regulator: core: Fix voltage change propagations to supply regulators To: broonie@kernel.org, lgirdwood@gmail.com Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org References: <1495706597-10605-1-git-send-email-tirupath@codeaurora.org> From: Tirupathi Reddy T Message-ID: <7ef9cc88-a214-5042-c955-8c82a20138b3@codeaurora.org> Date: Mon, 5 Jun 2017 16:06:12 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <1495706597-10605-1-git-send-email-tirupath@codeaurora.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1189 Lines: 32 Mark, Could you please take a look and provide any feedback. Thanks Tirupathi Reddy On 5/25/2017 3:33 PM, Tirupathi Reddy wrote: > Some regulators support get_voltage and some support get_voltage_sel > operations. Do voltage change propagation only when the current > regulator has a minimum dropout voltage specified or if the current > regulator lacks both get_voltage and get_voltage_sel operations. > > Signed-off-by: Tirupathi Reddy > --- > drivers/regulator/core.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c > index c0d9ae8..9fecbd4 100644 > --- a/drivers/regulator/core.c > +++ b/drivers/regulator/core.c > @@ -2938,7 +2938,8 @@ static int regulator_set_voltage_unlocked(struct regulator *regulator, > if (rdev->supply && > regulator_ops_is_valid(rdev->supply->rdev, > REGULATOR_CHANGE_VOLTAGE) && > - (rdev->desc->min_dropout_uV || !rdev->desc->ops->get_voltage)) { > + (rdev->desc->min_dropout_uV || !(rdev->desc->ops->get_voltage || > + rdev->desc->ops->get_voltage_sel))) { > int current_supply_uV; > int selector; >