[alsa-devel] [PATCH 8/8] ASoC: AD183x: add support for more multiple parts
Mark Brown
broonie at opensource.wolfsonmicro.com
Wed Jun 15 16:53:21 CEST 2011
On Tue, Jun 14, 2011 at 05:34:28PM -0400, Mike Frysinger wrote:
This is OK but some nits/future improvements:
> +static const struct snd_kcontrol_new ad1835a_ad1837a_snd_controls[] = {
> + /* DAC volume control */
> + SOC_DOUBLE_R("DAC1 Volume", AD183X_DAC_L1_VOL,
> + AD183X_DAC_R1_VOL, 0, 0x3FF, 0),
It would be much better to provide dB information but OK.
> + /* DAC de-emphasis */
> + SOC_ENUM("Playback Deemphasis", ad183x_deemp_enum),
OK for now but what modern drivers are doing here is making the
deemphasis switch a switch at the application layer then automatically
selecting the sample rate to use for the filter based on the active
sample rate.
> @@ -45,17 +125,17 @@ static const struct snd_kcontrol_new ad183x_snd_controls[] = {
>
> /* ADC switch control */
> SOC_DOUBLE("ADC1 Switch", AD183X_ADC_CTRL2, AD183X_ADCL1_MUTE,
> - AD183X_ADCR1_MUTE, 1, 1),
> + AD183X_ADCR1_MUTE, 1, 1),
Indentation changes should really be in a separate patch if you end up
needing to respin the series.
> + if (!strcmp(chip_name, "ad1835a") || !strcmp(chip_name, "ad1837a"))
> + ad183x->chl_ctrl = &ad1835a_ad1837a_chl_ctrls;
> + else if (!strcmp(chip_name, "ad1838a") || !strcmp(chip_name, "ad1839a"))
> + ad183x->chl_ctrl = &ad1838a_ad1839a_chl_ctrls;
> + else if (!strcmp(chip_name, "ad1836"))
> + ad183x->chl_ctrl = &ad1836_chl_ctrls;
> + else {
> + dev_err(&spi->dev, "unsupported chip type: %s\n", chip_name);
> + return -EINVAL;
Someone really ought to get around to fixing this in the SPI subsystem
:/
More information about the Alsa-devel
mailing list