Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c0ff4bcd authored by Daniel Mack's avatar Daniel Mack Committed by Mark Brown
Browse files

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: default avatarDaniel Mack <daniel@caiaq.de>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 22313eaf
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -629,8 +629,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 +659,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;