From 58c3ffec1ea172ce45d107768bee945e6b74520e Mon Sep 17 00:00:00 2001 From: Axel Lin Date: Sun, 9 Dec 2012 08:05:45 +0800 Subject: [PATCH] --- yaml --- r: 343195 b: refs/heads/master c: 985884db501d7026257d122c3cc32a7005a9a864 h: refs/heads/master i: 343193: 71e2aeb336aaa5bebbc81178a0061c6a490bd426 343191: 0d0c2c2fc7b23ec84fcdb553d636ce6a925c18a3 v: v3 --- [refs] | 2 +- trunk/drivers/regulator/anatop-regulator.c | 15 +++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 88d3fefcc4af..ab70b3235527 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5d6e6ffc400dbc3ea0cc58b8b6f9d9ac748d6572 +refs/heads/master: 985884db501d7026257d122c3cc32a7005a9a864 diff --git a/trunk/drivers/regulator/anatop-regulator.c b/trunk/drivers/regulator/anatop-regulator.c index 1af97686f444..b78b622d24c5 100644 --- a/trunk/drivers/regulator/anatop-regulator.c +++ b/trunk/drivers/regulator/anatop-regulator.c @@ -48,18 +48,16 @@ static int anatop_regmap_set_voltage_sel(struct regulator_dev *reg, unsigned selector) { struct anatop_regulator *anatop_reg = rdev_get_drvdata(reg); - u32 val, mask; + u32 mask; if (!anatop_reg->control_reg) return -ENOTSUPP; - val = anatop_reg->min_bit_val + selector; - dev_dbg(®->dev, "%s: calculated val %d\n", __func__, val); mask = ((1 << anatop_reg->vol_bit_width) - 1) << anatop_reg->vol_bit_shift; - val <<= anatop_reg->vol_bit_shift; + selector <<= anatop_reg->vol_bit_shift; regmap_update_bits(anatop_reg->anatop, anatop_reg->control_reg, - mask, val); + mask, selector); return 0; } @@ -77,7 +75,7 @@ static int anatop_regmap_get_voltage_sel(struct regulator_dev *reg) anatop_reg->vol_bit_shift; val = (val & mask) >> anatop_reg->vol_bit_shift; - return val - anatop_reg->min_bit_val; + return val; } static struct regulator_ops anatop_rops = { @@ -158,10 +156,11 @@ static int __devinit anatop_regulator_probe(struct platform_device *pdev) goto anatop_probe_end; } - rdesc->n_voltages = (sreg->max_voltage - sreg->min_voltage) - / 25000 + 1; + rdesc->n_voltages = (sreg->max_voltage - sreg->min_voltage) / 25000 + 1 + + sreg->min_bit_val; rdesc->min_uV = sreg->min_voltage; rdesc->uV_step = 25000; + rdesc->linear_min_sel = sreg->min_bit_val; config.dev = &pdev->dev; config.init_data = initdata;