[PATCH] TWL4030: Make sure the regulator is active after calling twl4030reg_enable
This patch makes sure a regulator is active when enabled. After a warm reboot, only adding a regulator to a power group is not enough to activate it. Signed-off-by: Peter 'p2' De Schrijver peter.de-schrij...@nokia.com --- drivers/regulator/twl4030-regulator.c | 11 +-- 1 files changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/regulator/twl4030-regulator.c b/drivers/regulator/twl4030-regulator.c index df9a94b..80a4e10 100644 --- a/drivers/regulator/twl4030-regulator.c +++ b/drivers/regulator/twl4030-regulator.c @@ -177,14 +177,21 @@ static int twl4030reg_is_enabled(struct regulator_dev *rdev) static int twl4030reg_enable(struct regulator_dev *rdev) { struct twlreg_info *info = rdev_get_drvdata(rdev); - int grp; + int grp, status; + unsignedmessage; grp = twl4030reg_read(info, VREG_GRP); if (grp 0) return grp; grp |= P1_GRP; - return twl4030reg_write(info, VREG_GRP, grp); + status = twl4030reg_write(info, VREG_GRP, grp); + if (status 0) + return status; + + message = MSG_SINGULAR(DEV_GRP_P1, info-id, RES_STATE_ACTIVE); + + return twl4030_send_pb_msg(message); } static int twl4030reg_disable(struct regulator_dev *rdev) -- 1.5.6.3 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] TWL4030: Make sure the regulator is active after calling twl4030reg_enable
This patch makes sure a regulator is active when enabled. After a warm reboot, only adding a regulator to a power group is not enough to activate it. Signed-off-by: Peter 'p2' De Schrijver peter.de-schrij...@nokia.com --- drivers/regulator/twl4030-regulator.c | 11 +-- 1 files changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/regulator/twl4030-regulator.c b/drivers/regulator/twl4030-regulator.c index df9a94b..80a4e10 100644 --- a/drivers/regulator/twl4030-regulator.c +++ b/drivers/regulator/twl4030-regulator.c @@ -177,14 +177,21 @@ static int twl4030reg_is_enabled(struct regulator_dev *rdev) static int twl4030reg_enable(struct regulator_dev *rdev) { struct twlreg_info *info = rdev_get_drvdata(rdev); - int grp; + int grp, status; + unsignedmessage; grp = twl4030reg_read(info, VREG_GRP); if (grp 0) return grp; grp |= P1_GRP; - return twl4030reg_write(info, VREG_GRP, grp); + status = twl4030reg_write(info, VREG_GRP, grp); + if (status 0) + return status; + + message = MSG_SINGULAR(DEV_GRP_P1, info-id, RES_STATE_ACTIVE); + + return twl4030_send_pb_msg(message); } static int twl4030reg_disable(struct regulator_dev *rdev) -- 1.5.6.3 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html