Subject: [PATCH V2] mfd: da9052: Fix volatile register definition ommissions

Three of the PMIC registers have some bits that are changed
autonomously by the PMIC itself (some time) after being set
by some component driver of the DA9052 PMIC and hence they
need to be marked as volatile so that the regmap API will
not cache their values.

Signed-off-by: Anthony Olech <[email protected]>
Acked-by: David Dajun Chen <[email protected]>
---

This patch is relative to linux-next repository tag next-20140206

The problem was detected whilst running a scripted set of functional
regression tests whilst investigating a different problem.

This patch has been test compiled on an amd64 server for both x86
and arm targets.

This patch has been spot verified using an SMDK6410 platform
fly-wired to a Dialog da9053 EVB.

The bug that this patch fixes affects two components of DA9052 namely:

WATCHDOG - the first kick will work but sebsequent ones will not
thus the watchdog will timeout at 2 x interval.

REGULATORS - the first change to any DA9052/DA9053 BUCK voltage
will be actioned, but sebsequent ones will not.

drivers/mfd/da9052-core.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/mfd/da9052-core.c b/drivers/mfd/da9052-core.c
index 25838f1..e8af816 100644
--- a/drivers/mfd/da9052-core.c
+++ b/drivers/mfd/da9052-core.c
@@ -279,6 +279,9 @@ static bool da9052_reg_volatile(struct device *dev, unsigned int reg)
case DA9052_EVENT_B_REG:
case DA9052_EVENT_C_REG:
case DA9052_EVENT_D_REG:
+ case DA9052_CONTROL_B_REG:
+ case DA9052_CONTROL_D_REG:
+ case DA9052_SUPPLY_REG:
case DA9052_FAULTLOG_REG:
case DA9052_CHG_TIME_REG:
case DA9052_ADC_RES_L_REG:
--
end-of-patch for mfd: da9052: Fix volatile register definition ommissions V2


2014-02-11 16:27:52

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH V2] mfd: da9052: Fix volatile register definition ommissions

On Thu, 06 Feb 2014, Anthony Olech <[email protected]> wrote:

> Three of the PMIC registers have some bits that are changed
> autonomously by the PMIC itself (some time) after being set
> by some component driver of the DA9052 PMIC and hence they
> need to be marked as volatile so that the regmap API will
> not cache their values.
>
> Signed-off-by: Anthony Olech <[email protected]>
> Acked-by: David Dajun Chen <[email protected]>
> ---
>
> This patch is relative to linux-next repository tag next-20140206
>
> The problem was detected whilst running a scripted set of functional
> regression tests whilst investigating a different problem.
>
> This patch has been test compiled on an amd64 server for both x86
> and arm targets.
>
> This patch has been spot verified using an SMDK6410 platform
> fly-wired to a Dialog da9053 EVB.
>
> The bug that this patch fixes affects two components of DA9052 namely:
>
> WATCHDOG - the first kick will work but sebsequent ones will not
> thus the watchdog will timeout at 2 x interval.
>
> REGULATORS - the first change to any DA9052/DA9053 BUCK voltage
> will be actioned, but sebsequent ones will not.
>
> drivers/mfd/da9052-core.c | 3 +++
> 1 file changed, 3 insertions(+)

Applied, thanks.

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog