On Mon, Oct 10, 2022 at 9:57 AM Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx> wrote: > > 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 Thanks for this. I saw this same error, but the audio that I use didn't appear impacted, so I just ignored it. > > > > 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> Tested-by: Adam Ford <aford173@xxxxxxxxx> > > Thanks, > Charles