From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rajendra Nayak Subject: Re: [PATCH v2 2/2] regulator: qcom_spmi: Only use selector based regulator ops Date: Fri, 15 Apr 2016 15:48:15 +0530 Message-ID: <5710BFE7.9060802@codeaurora.org> References: <1459389470-29365-1-git-send-email-stephen.boyd@linaro.org> <1459389470-29365-3-git-send-email-stephen.boyd@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Return-path: Received: from smtp.codeaurora.org ([198.145.29.96]:48195 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750802AbcDOKSX (ORCPT ); Fri, 15 Apr 2016 06:18:23 -0400 In-Reply-To: <1459389470-29365-3-git-send-email-stephen.boyd@linaro.org> Sender: linux-arm-msm-owner@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org To: Stephen Boyd , Mark Brown Cc: linux-arm@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Georgi Djakov , David Collins []... > static int spmi_regulator_select_voltage_same_range(struct spmi_regulator *vreg, > - int min_uV, int max_uV, u8 *range_sel, u8 *voltage_sel, > - unsigned *selector) > + int min_uV, int max_uV) > { > const struct spmi_voltage_range *range; > int uV = min_uV; > - int i; > + int i, selector; > > range = spmi_regulator_find_range(vreg); > if (!range) > @@ -638,8 +665,8 @@ static int spmi_regulator_select_voltage_same_range(struct spmi_regulator *vreg, > * Force uV to be an allowed set point by applying a ceiling function to > * the uV value. > */ > - *voltage_sel = DIV_ROUND_UP(uV - range->min_uV, range->step_uV); > - uV = *voltage_sel * range->step_uV + range->min_uV; > + uV = DIV_ROUND_UP(uV - range->min_uV, range->step_uV); > + uV = uV * range->step_uV + range->min_uV; > > if (uV > max_uV) { > /* > @@ -649,43 +676,49 @@ static int spmi_regulator_select_voltage_same_range(struct spmi_regulator *vreg, > goto different_range; > } > > - *selector = 0; > + selector = 0; > for (i = 0; i < vreg->set_points->count; i++) { > if (uV >= vreg->set_points->range[i].set_point_min_uV > && uV <= vreg->set_points->range[i].set_point_max_uV) { > - *selector += > + selector += > (uV - vreg->set_points->range[i].set_point_min_uV) > / vreg->set_points->range[i].step_uV; > break; > } > > - *selector += vreg->set_points->range[i].n_voltages; > + selector += vreg->set_points->range[i].n_voltages; > } > > - if (*selector >= vreg->set_points->n_voltages) > + if (selector >= vreg->set_points->n_voltages) > goto different_range; > > return 0; This should now return selector instead of 0 -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation