Re: [PATCH 2/3] regulator: s2mps11: Add set_suspend_disable for S2MPS14

From: Mark Brown
Date: Thu Mar 06 2014 - 04:40:13 EST


On Wed, Mar 05, 2014 at 10:22:52AM +0100, Krzysztof Kozlowski wrote:

> + ret = regmap_read(rdev->regmap, rdev->desc->enable_reg, &data);
> + if (ret < 0)
> + return ret;
> +
> + /*
> + * Don't enable suspend mode if regulator is already disabled because
> + * this would effectively for a short time turn on the regulator after
> + * resuming.
> + */
> + if (!(data & rdev->desc->enable_mask))
> + return 0;
> +
> + return regmap_update_bits(rdev->regmap, rdev->desc->enable_reg,
> + rdev->desc->enable_mask, S2MPS14_ENABLE_SUSPEND);
> +}

What happens if the regulator gets enabled between this being called
and the device suspending? I'd expect this to be storing the state and
then changing what gets written during enable and disable operations (if
the hardware does what I think it does).

Attachment: signature.asc
Description: Digital signature