Commit 0ff3897d79d4607d37432b3eb81a304f7e4b4841
Committed by
Liam Girdwood
1 parent
f8c2940bcd
regulator: twl6030: do not write to _GRP for regulator disable
TWL6030: regulator is disabled via VREG_STATE TWL4030: regulator is disabled via VREG_GRP Since there is nothing common, split twlreg_enable similar to other regulator_ops Signed-off-by: Balaji T K <balajitk@ti.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Showing 1 changed file with 22 additions and 25 deletions Side-by-side Diff
drivers/regulator/twl-regulator.c
... | ... | @@ -194,7 +194,7 @@ |
194 | 194 | return ret; |
195 | 195 | } |
196 | 196 | |
197 | -static int twlreg_disable(struct regulator_dev *rdev) | |
197 | +static int twl4030reg_disable(struct regulator_dev *rdev) | |
198 | 198 | { |
199 | 199 | struct twlreg_info *info = rdev_get_drvdata(rdev); |
200 | 200 | int grp; |
201 | 201 | |
202 | 202 | |
203 | 203 | |
... | ... | @@ -204,29 +204,26 @@ |
204 | 204 | if (grp < 0) |
205 | 205 | return grp; |
206 | 206 | |
207 | - /* For 6030, set the off state for all grps enabled */ | |
208 | - if (twl_class_is_6030()) { | |
209 | - ret = twlreg_write(info, TWL_MODULE_PM_RECEIVER, VREG_STATE, | |
210 | - (grp & (P1_GRP_6030 | P2_GRP_6030 | P3_GRP_6030)) << | |
211 | - TWL6030_CFG_STATE_GRP_SHIFT | | |
212 | - TWL6030_CFG_STATE_OFF); | |
213 | - if (ret) | |
214 | - return ret; | |
215 | - } | |
207 | + grp &= ~(P1_GRP_4030 | P2_GRP_4030 | P3_GRP_4030); | |
216 | 208 | |
217 | - if (twl_class_is_4030()) | |
218 | - grp &= ~(P1_GRP_4030 | P2_GRP_4030 | P3_GRP_4030); | |
219 | - else | |
220 | - grp &= ~(P1_GRP_6030 | P2_GRP_6030 | P3_GRP_6030); | |
221 | - | |
222 | 209 | ret = twlreg_write(info, TWL_MODULE_PM_RECEIVER, VREG_GRP, grp); |
223 | 210 | |
224 | - /* Next, associate cleared grp in state register */ | |
225 | - if (!ret && twl_class_is_6030()) | |
226 | - ret = twlreg_write(info, TWL_MODULE_PM_RECEIVER, VREG_STATE, | |
227 | - grp << TWL6030_CFG_STATE_GRP_SHIFT | | |
228 | - TWL6030_CFG_STATE_OFF); | |
211 | + return ret; | |
212 | +} | |
229 | 213 | |
214 | +static int twl6030reg_disable(struct regulator_dev *rdev) | |
215 | +{ | |
216 | + struct twlreg_info *info = rdev_get_drvdata(rdev); | |
217 | + int grp = 0; | |
218 | + int ret; | |
219 | + | |
220 | + grp = P1_GRP_6030 | P2_GRP_6030 | P3_GRP_6030; | |
221 | + | |
222 | + /* For 6030, set the off state for all grps enabled */ | |
223 | + ret = twlreg_write(info, TWL_MODULE_PM_RECEIVER, VREG_STATE, | |
224 | + (grp) << TWL6030_CFG_STATE_GRP_SHIFT | | |
225 | + TWL6030_CFG_STATE_OFF); | |
226 | + | |
230 | 227 | return ret; |
231 | 228 | } |
232 | 229 | |
... | ... | @@ -485,7 +482,7 @@ |
485 | 482 | .get_voltage = twl4030ldo_get_voltage, |
486 | 483 | |
487 | 484 | .enable = twl4030reg_enable, |
488 | - .disable = twlreg_disable, | |
485 | + .disable = twl4030reg_disable, | |
489 | 486 | .is_enabled = twl4030reg_is_enabled, |
490 | 487 | |
491 | 488 | .set_mode = twl4030reg_set_mode, |
... | ... | @@ -543,7 +540,7 @@ |
543 | 540 | .get_voltage = twl6030ldo_get_voltage, |
544 | 541 | |
545 | 542 | .enable = twl6030reg_enable, |
546 | - .disable = twlreg_disable, | |
543 | + .disable = twl6030reg_disable, | |
547 | 544 | .is_enabled = twl6030reg_is_enabled, |
548 | 545 | |
549 | 546 | .set_mode = twl6030reg_set_mode, |
... | ... | @@ -576,7 +573,7 @@ |
576 | 573 | .get_voltage = twlfixed_get_voltage, |
577 | 574 | |
578 | 575 | .enable = twl4030reg_enable, |
579 | - .disable = twlreg_disable, | |
576 | + .disable = twl4030reg_disable, | |
580 | 577 | .is_enabled = twl4030reg_is_enabled, |
581 | 578 | |
582 | 579 | .set_mode = twl4030reg_set_mode, |
... | ... | @@ -590,7 +587,7 @@ |
590 | 587 | .get_voltage = twlfixed_get_voltage, |
591 | 588 | |
592 | 589 | .enable = twl6030reg_enable, |
593 | - .disable = twlreg_disable, | |
590 | + .disable = twl6030reg_disable, | |
594 | 591 | .is_enabled = twl6030reg_is_enabled, |
595 | 592 | |
596 | 593 | .set_mode = twl6030reg_set_mode, |
... | ... | @@ -600,7 +597,7 @@ |
600 | 597 | |
601 | 598 | static struct regulator_ops twl6030_fixed_resource = { |
602 | 599 | .enable = twl6030reg_enable, |
603 | - .disable = twlreg_disable, | |
600 | + .disable = twl6030reg_disable, | |
604 | 601 | .is_enabled = twl6030reg_is_enabled, |
605 | 602 | .get_status = twl6030reg_get_status, |
606 | 603 | }; |