Hi Charles,
thanks a lot for your comments.
On 23 May 2016 at 16:55, Charles Keepax ckeepax@opensource.wolfsonmicro.com wrote:
On Mon, May 23, 2016 at 04:11:25PM +0200, Petr Kulhavy wrote:
@@ -317,6 +326,10 @@ static const struct snd_kcontrol_new wm8985_snd_controls[] = { SOC_DOUBLE("ADC Inversion Switch", WM8985_ADC_CONTROL, 0, 1, 1, 0), SOC_SINGLE("ADC 128x Oversampling Switch", WM8985_ADC_CONTROL, 8, 1, 0),
SOC_SINGLE("High Pass Filter Switch", WM8985_ADC_CONTROL, 8, 1, 0),SOC_ENUM("High Pass Filter Mode", filter_mode),SOC_SINGLE("High Pass Filter Cutoff", WM8985_ADC_CONTROL, 4, 7, 0),Why are these moving? Eases review to keep unrelated changes out of the patch.
I couldn't resist to sort them in and it was too tempting to keep it in one patch ;-) These ADC controls were originally among the DAC controls, so this place is in my view more suitable.
SOC_DOUBLE_R_TLV("Playback Volume", WM8985_LEFT_DAC_DIGITAL_VOL, WM8985_RIGHT_DAC_DIGITAL_VOL, 0, 255, 0, dac_tlv),@@ -344,15 +357,6 @@ static const struct snd_kcontrol_new wm8985_snd_controls[] = { WM8985_ROUT2_SPK_VOLUME_CTRL, 7, 1, 0), SOC_DOUBLE_R("Speaker Switch", WM8985_LOUT2_SPK_VOLUME_CTRL, WM8985_ROUT2_SPK_VOLUME_CTRL, 6, 1, 1),
SOC_SINGLE("High Pass Filter Switch", WM8985_ADC_CONTROL, 8, 1, 0),SOC_ENUM("High Pass Filter Mode", filter_mode),SOC_SINGLE("High Pass Filter Cutoff", WM8985_ADC_CONTROL, 4, 7, 0),SOC_DOUBLE_R_TLV("Aux Bypass Volume",WM8985_LEFT_MIXER_CTRL, WM8985_RIGHT_MIXER_CTRL, 6, 7, 0,aux_tlv),SOC_DOUBLE_R_TLV("Input PGA Bypass Volume", WM8985_LEFT_MIXER_CTRL, WM8985_RIGHT_MIXER_CTRL, 2, 7, 0, bypass_tlv),@@ -373,6 +377,12 @@ static const struct snd_kcontrol_new wm8985_snd_controls[] = { SOC_SINGLE_TLV("EQ5 Volume", WM8985_EQ5_HIGH_SHELF, 0, 24, 1, eq_tlv),
SOC_ENUM("3D Depth", depth_3d),+};
+static const struct snd_kcontrol_new wm8985_specific_snd_controls[] = {
SOC_DOUBLE_R_TLV("Aux Bypass Volume",WM8985_LEFT_MIXER_CTRL, WM8985_RIGHT_MIXER_CTRL, 6, 7, 0,aux_tlv), SOC_ENUM("Speaker Mode", speaker_mode)}; @@ -389,6 +399,16 @@ static const struct snd_kcontrol_new right_out_mixer[] = { SOC_DAPM_SINGLE("PCM Switch", WM8985_RIGHT_MIXER_CTRL, 0, 1, 0), };
+static const struct snd_kcontrol_new wm8758_left_out_mixer[] = {
SOC_DAPM_SINGLE("Line Switch", WM8985_LEFT_MIXER_CTRL, 1, 1, 0),SOC_DAPM_SINGLE("PCM Switch", WM8985_LEFT_MIXER_CTRL, 0, 1, 0),+};
+static const struct snd_kcontrol_new wm8758_right_out_mixer[] = {
SOC_DAPM_SINGLE("Line Switch", WM8985_RIGHT_MIXER_CTRL, 1, 1, 0),SOC_DAPM_SINGLE("PCM Switch", WM8985_RIGHT_MIXER_CTRL, 0, 1, 0),+};
I would be tempted to put the "Aux Switch" at the end of the existing array and then just specifying different sizes for each part in the SND_SOC_DAPM_MIXER macro, saves the need to duplicate these.
That's a good idea indeed!
I'm going to send another round.
Regards Petr