Re: [PATCH 1/3] regulator: palmas: clear sleep bits if not selected

From: Graeme Gregory
Date: Wed Apr 17 2013 - 09:53:12 EST


This is good with me, I originally had it like this and I cannot
remember why I convinced myself not to do it this way.

Acked-by: Graeme Gregory <gg@xxxxxxxxxxxxxxx>

On 17/04/13 10:43, Laxman Dewangan wrote:
> Clear the sleep/warm reset bits when it is not selected through
> regulator platform data. This will make sure that configuration
> is inline with the platform data regardless of boot/POR
> configuration.
>
> Signed-off-by: Laxman Dewangan <ldewangan@xxxxxxxxxx>
> ---
> drivers/regulator/palmas-regulator.c | 18 ++++++++++++------
> 1 files changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/regulator/palmas-regulator.c b/drivers/regulator/palmas-regulator.c
> index 7c54e31..7c7992b 100644
> --- a/drivers/regulator/palmas-regulator.c
> +++ b/drivers/regulator/palmas-regulator.c
> @@ -444,24 +444,26 @@ static int palmas_smps_init(struct palmas *palmas, int id,
>
> switch (id) {
> case PALMAS_REG_SMPS10:
> - if (reg_init->mode_sleep) {
> - reg &= ~PALMAS_SMPS10_CTRL_MODE_SLEEP_MASK;
> + reg &= ~PALMAS_SMPS10_CTRL_MODE_SLEEP_MASK;
> + if (reg_init->mode_sleep)
> reg |= reg_init->mode_sleep <<
> PALMAS_SMPS10_CTRL_MODE_SLEEP_SHIFT;
> - }
> break;
> default:
> if (reg_init->warm_reset)
> reg |= PALMAS_SMPS12_CTRL_WR_S;
> + else
> + reg &= ~PALMAS_SMPS12_CTRL_WR_S;
>
> if (reg_init->roof_floor)
> reg |= PALMAS_SMPS12_CTRL_ROOF_FLOOR_EN;
> + else
> + reg &= ~PALMAS_SMPS12_CTRL_ROOF_FLOOR_EN;
>
> - if (reg_init->mode_sleep) {
> - reg &= ~PALMAS_SMPS12_CTRL_MODE_SLEEP_MASK;
> + reg &= ~PALMAS_SMPS12_CTRL_MODE_SLEEP_MASK;
> + if (reg_init->mode_sleep)
> reg |= reg_init->mode_sleep <<
> PALMAS_SMPS12_CTRL_MODE_SLEEP_SHIFT;
> - }
> }
>
> ret = palmas_smps_write(palmas, addr, reg);
> @@ -507,9 +509,13 @@ static int palmas_ldo_init(struct palmas *palmas, int id,
>
> if (reg_init->warm_reset)
> reg |= PALMAS_LDO1_CTRL_WR_S;
> + else
> + reg &= ~PALMAS_LDO1_CTRL_WR_S;
>
> if (reg_init->mode_sleep)
> reg |= PALMAS_LDO1_CTRL_MODE_SLEEP;
> + else
> + reg &= ~PALMAS_LDO1_CTRL_MODE_SLEEP;
>
> ret = palmas_ldo_write(palmas, addr, reg);
> if (ret)

--
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/