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