mfd: arizona: Move regulator disable to after marking cache only
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Tue, 6 Aug 2013 16:18:35 +0000 (17:18 +0100)
committerLee Jones <lee.jones@linaro.org>
Wed, 14 Aug 2013 17:53:01 +0000 (18:53 +0100)
If we disable DCVDD before we mark the cache as cache only, we might
attempt to write to the chip whilst it is powered down and lose a write.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/arizona-core.c

index 89a1153..5ac3aa4 100644 (file)
@@ -438,9 +438,9 @@ static int arizona_runtime_suspend(struct device *dev)
                }
        }
 
-       regulator_disable(arizona->dcvdd);
        regcache_cache_only(arizona->regmap, true);
        regcache_mark_dirty(arizona->regmap);
+       regulator_disable(arizona->dcvdd);
 
        return 0;
 }