aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/cs4270.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sound/soc/codecs/cs4270.c b/sound/soc/codecs/cs4270.c
index 593bfc7a6986..dfbeb2db61b3 100644
--- a/sound/soc/codecs/cs4270.c
+++ b/sound/soc/codecs/cs4270.c
@@ -629,8 +629,17 @@ static int cs4270_probe(struct platform_device *pdev)
629 if (ret < 0) 629 if (ret < 0)
630 goto error_free_pcms; 630 goto error_free_pcms;
631 631
632 ret = regulator_bulk_enable(ARRAY_SIZE(cs4270->supplies),
633 cs4270->supplies);
634 if (ret < 0)
635 goto error_free_regulators;
636
632 return 0; 637 return 0;
633 638
639error_free_regulators:
640 regulator_bulk_free(ARRAY_SIZE(cs4270->supplies),
641 cs4270->supplies);
642
634error_free_pcms: 643error_free_pcms:
635 snd_soc_free_pcms(socdev); 644 snd_soc_free_pcms(socdev);
636 645
@@ -650,6 +659,7 @@ static int cs4270_remove(struct platform_device *pdev)
650 struct cs4270_private *cs4270 = codec->private_data; 659 struct cs4270_private *cs4270 = codec->private_data;
651 660
652 snd_soc_free_pcms(socdev); 661 snd_soc_free_pcms(socdev);
662 regulator_bulk_disable(ARRAY_SIZE(cs4270->supplies), cs4270->supplies);
653 regulator_bulk_free(ARRAY_SIZE(cs4270->supplies), cs4270->supplies); 663 regulator_bulk_free(ARRAY_SIZE(cs4270->supplies), cs4270->supplies);
654 664
655 return 0; 665 return 0;