Merge branch 'for-4.20' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie...
[linux-2.6-block.git] / sound / soc / codecs / pcm3168a.c
index 115f21658222f39db725d4e4db421d770e131e37..08d3fe192e657218c6f78125b05405277cf53af3 100644 (file)
@@ -758,15 +758,22 @@ err_clk:
 }
 EXPORT_SYMBOL_GPL(pcm3168a_probe);
 
-void pcm3168a_remove(struct device *dev)
+static void pcm3168a_disable(struct device *dev)
 {
        struct pcm3168a_priv *pcm3168a = dev_get_drvdata(dev);
 
-       pm_runtime_disable(dev);
        regulator_bulk_disable(ARRAY_SIZE(pcm3168a->supplies),
-                               pcm3168a->supplies);
+                              pcm3168a->supplies);
        clk_disable_unprepare(pcm3168a->scki);
 }
+
+void pcm3168a_remove(struct device *dev)
+{
+       pm_runtime_disable(dev);
+#ifndef CONFIG_PM
+       pcm3168a_disable(dev);
+#endif
+}
 EXPORT_SYMBOL_GPL(pcm3168a_remove);
 
 #ifdef CONFIG_PM
@@ -821,10 +828,7 @@ static int pcm3168a_rt_suspend(struct device *dev)
 
        regcache_cache_only(pcm3168a->regmap, true);
 
-       regulator_bulk_disable(ARRAY_SIZE(pcm3168a->supplies),
-                              pcm3168a->supplies);
-
-       clk_disable_unprepare(pcm3168a->scki);
+       pcm3168a_disable(dev);
 
        return 0;
 }