mfd: Put WM8994 into cache only mode when suspending

This is required by the ASoC driver for very low power modes where the
device is fully idle but we want to update controls.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c
index 9b8d1ad..d3d9d53 100644
--- a/drivers/mfd/wm8994-core.c
+++ b/drivers/mfd/wm8994-core.c
@@ -268,6 +268,7 @@
 	wm8994_reg_write(wm8994, WM8994_SOFTWARE_RESET,
 			 wm8994_reg_read(wm8994, WM8994_SOFTWARE_RESET));
 
+	regcache_cache_only(wm8994->regmap, true);
 	regcache_mark_dirty(wm8994->regmap);
 
 	wm8994->suspended = true;
@@ -298,6 +299,7 @@
 		return ret;
 	}
 
+	regcache_cache_only(wm8994->regmap, false);
 	ret = regcache_sync(wm8994->regmap);
 	if (ret != 0) {
 		dev_err(dev, "Failed to restore register map: %d\n", ret);