• Linus Walleij's avatar
    ASoC: wm8903: add regulator handling · b3bbef45
    Linus Walleij authored
    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: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    b3bbef45
wm8903.c 64.5 KB