Re: [PATCH] ASoC: wm8962: Add an event handler for TEMP_HP and TEMP_SPK

From: Charles Keepax
Date: Mon Oct 10 2022 - 10:58:57 EST


On Mon, Oct 10, 2022 at 05:20:14PM +0800, Xiaolei Wang wrote:
> 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@xxxxxxxxxxxxx>
> ---

Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>

Thanks,
Charles