summaryrefslogtreecommitdiff
path: root/sound/soc/qcom/lpass-cpu.c
diff options
context:
space:
mode:
authorXiaolei Wang <xiaolei.wang@windriver.com>2022-10-10 12:20:14 +0300
committerMark Brown <broonie@kernel.org>2022-10-13 15:01:33 +0300
commitee1aa2ae3eaa96e70229fa61deee87ef4528ffdf (patch)
tree82c0fb897e4f13634577e022a6d39242647e45a0 /sound/soc/qcom/lpass-cpu.c
parentf2635d45a750182c6d5de15e2d6b059e0c302d7e (diff)
downloadlinux-ee1aa2ae3eaa96e70229fa61deee87ef4528ffdf.tar.xz
ASoC: wm8962: Add an event handler for TEMP_HP and TEMP_SPK
In wm8962 driver, the WM8962_ADDITIONAL_CONTROL_4 is used as a volatile register, but this register mixes a bunch of volatile status bits and a bunch of non-volatile control bits. The dapm widgets TEMP_HP and TEMP_SPK leverages the control bits in this register. After the wm8962 probe, the regmap will bet set to cache only mode, then a read error like below would be triggered when trying to read the initial power state of the dapm widgets TEMP_HP and TEMP_SPK. wm8962 0-001a: ASoC: error at soc_component_read_no_lock on wm8962.0-001a: -16 In order to fix this issue, we add event handler to actually power up/down these widgets. With this change, we also need to explicitly power off these widgets in the wm8962 probe since they are enabled by default. Signed-off-by: Xiaolei Wang <xiaolei.wang@windriver.com> Tested-by: Adam Ford <aford173@gmail.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20221010092014.2229246-1-xiaolei.wang@windriver.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/qcom/lpass-cpu.c')
0 files changed, 0 insertions, 0 deletions