]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - sound/soc/codecs/cs4270.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit...
[mv-sheeva.git] / sound / soc / codecs / cs4270.c
index 593bfc7a6986a6446c37fef41fabcaa377454fe4..81a62d198b7002b92f9df5d82c7cdd30b625b7c0 100644 (file)
@@ -23,6 +23,7 @@
 
 #include <linux/module.h>
 #include <linux/platform_device.h>
+#include <linux/slab.h>
 #include <sound/core.h>
 #include <sound/soc.h>
 #include <sound/initval.h>
@@ -629,8 +630,17 @@ static int cs4270_probe(struct platform_device *pdev)
        if (ret < 0)
                goto error_free_pcms;
 
+       ret = regulator_bulk_enable(ARRAY_SIZE(cs4270->supplies),
+                                   cs4270->supplies);
+       if (ret < 0)
+               goto error_free_regulators;
+
        return 0;
 
+error_free_regulators:
+       regulator_bulk_free(ARRAY_SIZE(cs4270->supplies),
+                           cs4270->supplies);
+
 error_free_pcms:
        snd_soc_free_pcms(socdev);
 
@@ -650,6 +660,7 @@ static int cs4270_remove(struct platform_device *pdev)
        struct cs4270_private *cs4270 = codec->private_data;
 
        snd_soc_free_pcms(socdev);
+       regulator_bulk_disable(ARRAY_SIZE(cs4270->supplies), cs4270->supplies);
        regulator_bulk_free(ARRAY_SIZE(cs4270->supplies), cs4270->supplies);
 
        return 0;