2012-06-07 08:38:21

by Axel Lin

[permalink] [raw]
Subject: [PATCH] regulator: rc5t583: Simplify rc5t583_set_voltage_time_sel implementation

For linear mappings, we can use below equation to get the voltage difference
between new_selector and old_selector:

abs(new_selector - old_selector) * rdev->desc->uV_step

Signed-off-by: Axel Lin <[email protected]>
---
drivers/regulator/rc5t583-regulator.c | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/drivers/regulator/rc5t583-regulator.c b/drivers/regulator/rc5t583-regulator.c
index 1d34e64..332eae8 100644
--- a/drivers/regulator/rc5t583-regulator.c
+++ b/drivers/regulator/rc5t583-regulator.c
@@ -70,18 +70,10 @@ static int rc5t583_set_voltage_time_sel(struct regulator_dev *rdev,
unsigned int old_selector, unsigned int new_selector)
{
struct rc5t583_regulator *reg = rdev_get_drvdata(rdev);
- int old_uV, new_uV;
- old_uV = regulator_list_voltage_linear(rdev, old_selector);

- if (old_uV < 0)
- return old_uV;
-
- new_uV = regulator_list_voltage_linear(rdev, new_selector);
- if (new_uV < 0)
- return new_uV;
-
- return DIV_ROUND_UP(abs(old_uV - new_uV),
- reg->reg_info->change_uv_per_us);
+ return DIV_ROUND_UP(abs(new_selector - old_selector) *
+ rdev->desc->uV_step,
+ reg->reg_info->change_uv_per_us);
}


--
1.7.9.5



2012-06-07 10:45:20

by Laxman Dewangan

[permalink] [raw]
Subject: Re: [PATCH] regulator: rc5t583: Simplify rc5t583_set_voltage_time_sel implementation

On Thursday 07 June 2012 02:08 PM, Axel Lin wrote:
> For linear mappings, we can use below equation to get the voltage difference
> between new_selector and old_selector:
>
> abs(new_selector - old_selector) * rdev->desc->uV_step

Acked-by: Laxman Dewangan <[email protected]>

Looks good to me.

2012-06-08 00:52:58

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] regulator: rc5t583: Simplify rc5t583_set_voltage_time_sel implementation

On Thu, Jun 07, 2012 at 04:38:09PM +0800, Axel Lin wrote:
> For linear mappings, we can use below equation to get the voltage difference
> between new_selector and old_selector:

Applied, thanks.


Attachments:
(No filename) (196.00 B)
signature.asc (836.00 B)
Digital signature
Download all attachments