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.opensou...@diasemi.com> Acked-by: David Dajun Chen <david.c...@diasemi.com> --- 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/