Re: [PATCH] TWL4030: Make sure the regulator is active aftercalling twl4030reg_enable
From: Mark Brown
Date: Thu Apr 23 2009 - 10:56:47 EST
On Thu, Apr 23, 2009 at 04:08:09PM +0300, Peter 'p2' De Schrijver wrote:
> 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-schrijver@xxxxxxxxx>
CCing people in again.
> ---
> 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;
> + unsigned message;
>
> 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-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
"You grabbed my hand and we fell into it, like a daydream - or a fever."
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/