[alsa-devel] [PATCH] ALSA: ASoC: cs4270: enable regulators at probe time
Enable the bulk regulators at probe time so we can safely disable them again when going to suspend without confusing the reference counter.
Signed-off-by: Daniel Mack daniel@caiaq.de Cc: Timur Tabi timur@freescale.com Cc: Liam Girdwood lrg@slimlogic.co.uk Cc: Mark Brown broonie@opensource.wolfsonmicro.com --- sound/soc/codecs/cs4270.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/sound/soc/codecs/cs4270.c b/sound/soc/codecs/cs4270.c index 8b54575..70c5edb 100644 --- a/sound/soc/codecs/cs4270.c +++ b/sound/soc/codecs/cs4270.c @@ -617,8 +617,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);
@@ -638,6 +647,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;
Daniel Mack wrote:
+error_free_regulators:
regulator_bulk_free(ARRAY_SIZE(cs4270->supplies),
cs4270->supplies);
I think this is indented too much.
Enable the bulk regulators at probe time so we can safely disable them again when going to suspend without confusing the reference counter.
Signed-off-by: Daniel Mack daniel@caiaq.de Cc: Timur Tabi timur@freescale.com Cc: Liam Girdwood lrg@slimlogic.co.uk Cc: Mark Brown broonie@opensource.wolfsonmicro.com --- sound/soc/codecs/cs4270.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/sound/soc/codecs/cs4270.c b/sound/soc/codecs/cs4270.c index 8b54575..63cb669 100644 --- a/sound/soc/codecs/cs4270.c +++ b/sound/soc/codecs/cs4270.c @@ -617,8 +617,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);
@@ -638,6 +647,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;
On Tue, 2010-02-09 at 02:32 +0800, Daniel Mack wrote:
Enable the bulk regulators at probe time so we can safely disable them again when going to suspend without confusing the reference counter.
Signed-off-by: Daniel Mack daniel@caiaq.de Cc: Timur Tabi timur@freescale.com Cc: Liam Girdwood lrg@slimlogic.co.uk Cc: Mark Brown broonie@opensource.wolfsonmicro.com
sound/soc/codecs/cs4270.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)
Acked-by: Liam Girdwood lrg@slimlogic.co.uk
Daniel Mack wrote:
Enable the bulk regulators at probe time so we can safely disable them again when going to suspend without confusing the reference counter.
Signed-off-by: Daniel Mack daniel@caiaq.de Cc: Timur Tabi timur@freescale.com Cc: Liam Girdwood lrg@slimlogic.co.uk Cc: Mark Brown broonie@opensource.wolfsonmicro.com
I don't have any way to test this, but it looks okay. Mark, feel free to apply if you're okay with it.
On Tue, Feb 09, 2010 at 02:32:59AM +0800, Daniel Mack wrote:
Enable the bulk regulators at probe time so we can safely disable them again when going to suspend without confusing the reference counter.
Signed-off-by: Daniel Mack daniel@caiaq.de Cc: Timur Tabi timur@freescale.com Cc: Liam Girdwood lrg@slimlogic.co.uk Cc: Mark Brown broonie@opensource.wolfsonmicro.com
Applied, thanks.
participants (4)
-
Daniel Mack
-
Liam Girdwood
-
Mark Brown
-
Timur Tabi