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

From: Anthony Olech <anthony.olech.opensource@xxxxxxxxxxx>
Date: Tue Feb 11 2014 - 11:18:33 EST


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 <anthony.olech.opensource@xxxxxxxxxxx>
Acked-by: David Dajun Chen <david.chen@xxxxxxxxxxx>
---

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

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