diff options
author | Axel Lin <axel.lin@gmail.com> | 2012-05-15 09:42:12 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-05-15 13:35:30 -0400 |
commit | 9392c4f06ad81b3fe8c3af0027c337e4222e73db (patch) | |
tree | 2e43c840ea7d13126a051697d753ec8127656779 /drivers/regulator/max8660.c | |
parent | 134d34a835293456fb704a6378a4411a1a12cba9 (diff) |
regulator: max8660: Convert to get_voltage_sel
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/regulator/max8660.c')
-rw-r--r-- | drivers/regulator/max8660.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/drivers/regulator/max8660.c b/drivers/regulator/max8660.c index 67ec6ad7eb5e..93bcfc8d58ee 100644 --- a/drivers/regulator/max8660.c +++ b/drivers/regulator/max8660.c | |||
@@ -126,12 +126,13 @@ static int max8660_dcdc_disable(struct regulator_dev *rdev) | |||
126 | return max8660_write(max8660, MAX8660_OVER1, mask, 0); | 126 | return max8660_write(max8660, MAX8660_OVER1, mask, 0); |
127 | } | 127 | } |
128 | 128 | ||
129 | static int max8660_dcdc_get(struct regulator_dev *rdev) | 129 | static int max8660_dcdc_get_voltage_sel(struct regulator_dev *rdev) |
130 | { | 130 | { |
131 | struct max8660 *max8660 = rdev_get_drvdata(rdev); | 131 | struct max8660 *max8660 = rdev_get_drvdata(rdev); |
132 | |||
132 | u8 reg = (rdev_get_id(rdev) == MAX8660_V3) ? MAX8660_ADTV2 : MAX8660_SDTV2; | 133 | u8 reg = (rdev_get_id(rdev) == MAX8660_V3) ? MAX8660_ADTV2 : MAX8660_SDTV2; |
133 | u8 selector = max8660->shadow_regs[reg]; | 134 | u8 selector = max8660->shadow_regs[reg]; |
134 | return MAX8660_DCDC_MIN_UV + selector * MAX8660_DCDC_STEP; | 135 | return selector; |
135 | } | 136 | } |
136 | 137 | ||
137 | static int max8660_dcdc_set(struct regulator_dev *rdev, int min_uV, int max_uV, | 138 | static int max8660_dcdc_set(struct regulator_dev *rdev, int min_uV, int max_uV, |
@@ -169,7 +170,7 @@ static struct regulator_ops max8660_dcdc_ops = { | |||
169 | .is_enabled = max8660_dcdc_is_enabled, | 170 | .is_enabled = max8660_dcdc_is_enabled, |
170 | .list_voltage = regulator_list_voltage_linear, | 171 | .list_voltage = regulator_list_voltage_linear, |
171 | .set_voltage = max8660_dcdc_set, | 172 | .set_voltage = max8660_dcdc_set, |
172 | .get_voltage = max8660_dcdc_get, | 173 | .get_voltage_sel = max8660_dcdc_get_voltage_sel, |
173 | }; | 174 | }; |
174 | 175 | ||
175 | 176 | ||
@@ -177,12 +178,12 @@ static struct regulator_ops max8660_dcdc_ops = { | |||
177 | * LDO5 functions | 178 | * LDO5 functions |
178 | */ | 179 | */ |
179 | 180 | ||
180 | static int max8660_ldo5_get(struct regulator_dev *rdev) | 181 | static int max8660_ldo5_get_voltage_sel(struct regulator_dev *rdev) |
181 | { | 182 | { |
182 | struct max8660 *max8660 = rdev_get_drvdata(rdev); | 183 | struct max8660 *max8660 = rdev_get_drvdata(rdev); |
183 | u8 selector = max8660->shadow_regs[MAX8660_MDTV2]; | ||
184 | 184 | ||
185 | return MAX8660_LDO5_MIN_UV + selector * MAX8660_LDO5_STEP; | 185 | u8 selector = max8660->shadow_regs[MAX8660_MDTV2]; |
186 | return selector; | ||
186 | } | 187 | } |
187 | 188 | ||
188 | static int max8660_ldo5_set(struct regulator_dev *rdev, int min_uV, int max_uV, | 189 | static int max8660_ldo5_set(struct regulator_dev *rdev, int min_uV, int max_uV, |
@@ -217,7 +218,7 @@ static int max8660_ldo5_set(struct regulator_dev *rdev, int min_uV, int max_uV, | |||
217 | static struct regulator_ops max8660_ldo5_ops = { | 218 | static struct regulator_ops max8660_ldo5_ops = { |
218 | .list_voltage = regulator_list_voltage_linear, | 219 | .list_voltage = regulator_list_voltage_linear, |
219 | .set_voltage = max8660_ldo5_set, | 220 | .set_voltage = max8660_ldo5_set, |
220 | .get_voltage = max8660_ldo5_get, | 221 | .get_voltage_sel = max8660_ldo5_get_voltage_sel, |
221 | }; | 222 | }; |
222 | 223 | ||
223 | 224 | ||
@@ -247,13 +248,13 @@ static int max8660_ldo67_disable(struct regulator_dev *rdev) | |||
247 | return max8660_write(max8660, MAX8660_OVER2, mask, 0); | 248 | return max8660_write(max8660, MAX8660_OVER2, mask, 0); |
248 | } | 249 | } |
249 | 250 | ||
250 | static int max8660_ldo67_get(struct regulator_dev *rdev) | 251 | static int max8660_ldo67_get_voltage_sel(struct regulator_dev *rdev) |
251 | { | 252 | { |
252 | struct max8660 *max8660 = rdev_get_drvdata(rdev); | 253 | struct max8660 *max8660 = rdev_get_drvdata(rdev); |
254 | |||
253 | u8 shift = (rdev_get_id(rdev) == MAX8660_V6) ? 0 : 4; | 255 | u8 shift = (rdev_get_id(rdev) == MAX8660_V6) ? 0 : 4; |
254 | u8 selector = (max8660->shadow_regs[MAX8660_L12VCR] >> shift) & 0xf; | 256 | u8 selector = (max8660->shadow_regs[MAX8660_L12VCR] >> shift) & 0xf; |
255 | 257 | return selector; | |
256 | return MAX8660_LDO67_MIN_UV + selector * MAX8660_LDO67_STEP; | ||
257 | } | 258 | } |
258 | 259 | ||
259 | static int max8660_ldo67_set(struct regulator_dev *rdev, int min_uV, | 260 | static int max8660_ldo67_set(struct regulator_dev *rdev, int min_uV, |
@@ -288,7 +289,7 @@ static struct regulator_ops max8660_ldo67_ops = { | |||
288 | .enable = max8660_ldo67_enable, | 289 | .enable = max8660_ldo67_enable, |
289 | .disable = max8660_ldo67_disable, | 290 | .disable = max8660_ldo67_disable, |
290 | .list_voltage = regulator_list_voltage_linear, | 291 | .list_voltage = regulator_list_voltage_linear, |
291 | .get_voltage = max8660_ldo67_get, | 292 | .get_voltage_sel = max8660_ldo67_get_voltage_sel, |
292 | .set_voltage = max8660_ldo67_set, | 293 | .set_voltage = max8660_ldo67_set, |
293 | }; | 294 | }; |
294 | 295 | ||