Просмотр исходного кода

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>
Mark Brown 14 лет назад
Родитель
Сommit
3befc925cb
1 измененных файлов с 2 добавлено и 0 удалено
  1. 2 0
      drivers/mfd/wm8994-core.c

+ 2 - 0
drivers/mfd/wm8994-core.c

@@ -268,6 +268,7 @@ static int wm8994_suspend(struct device *dev)
 	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 @@ static int wm8994_resume(struct device *dev)
 		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);