ASoC: wm8903: add regulator handling
authorLinus Walleij <linus.walleij@linaro.org>
Mon, 20 Mar 2017 09:13:52 +0000 (10:13 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 20 Mar 2017 11:24:05 +0000 (11:24 +0000)
commitb3bbef45e97526e8c56fd542d75e505776eecc01
tree6c766b496c4d13b6b0f59f373ac878ef679f0723
parenta5de5b74a50113564a1e0850e2da96c37c35e55d
ASoC: wm8903: add regulator handling

The WM8903 has four different voltage inputs: AVDD, CPVDD, DBVDD
and DCVDD. On the Qualcomm APQ8060 Dragonboard these are all
supplied from proper regulators and thus need activating and
binding.

This is a quick-and-dirty solution just grabbing and enabling the
regulator supplies on probe() and disabling them on remove() and
the errorpath. More elaborate power management is likely possible.

I assume the nVidia designs using this codec have some hard-wired
always-on power and will be happy with using the dummy regulators
for this. But someone from the nVidia camp should probably check
whether they can bind these to proper regulators instead.

We also amend the DT binding document. A small change like this
does not warrant a separate patch for augmenting these.

Cc: devicetree@vger.kernel.org
Cc: Mark Brown <broonie@kernel.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Stephen Warren <swarren@nvidia.com>
Cc: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/sound/wm8903.txt
sound/soc/codecs/wm8903.c