[alsa-devel] wm8731 - redundant register initialization, stream name vs DAPM widgets, snd_soc_io to regmap_io conversion

Sergey Kiselev sergey.kiselev at intel.com
Fri Jun 5 21:27:48 CEST 2015


Hi,

I have a few questions regarding wm8731. Some might be applicable to other
codecs as well.

1. According to the datasheet bit #8 of all the registers below is set to
'0' by the hardware reset. Is there a good reason to set them anyway?
(Perhaps an errata in previous chip version?)
	/* Latch the update bits */
	snd_soc_update_bits(codec, WM8731_LOUT1V, 0x100, 0);
	snd_soc_update_bits(codec, WM8731_ROUT1V, 0x100, 0);
	snd_soc_update_bits(codec, WM8731_LINVOL, 0x100, 0);
	snd_soc_update_bits(codec, WM8731_RINVOL, 0x100, 0);

2. In wm8731's snd_soc_dai_driver structure the steam names are 'Playback'
and 'Capture', while DAPM widgets have 'HiFi' prepended to the names:
SND_SOC_DAPM_DAC("DAC", "HiFi Playback", WM8731_PWR, 3, 1),
SND_SOC_DAPM_ADC("ADC", "HiFi Capture", WM8731_PWR, 2, 1),
Should the name match? DAPM.txt says so, but the DAPM code actually looks
for a substring match (DAI name as a substring in widget name).

3. Do I understand correctly the direction is to move from snd_soc_${io}
to more generic regmap_${io}? If so, I'll submit a patch.

Thanks
-- 
Sergey


More information about the Alsa-devel mailing list