Re: [PATCH v13 05/14] ASoC: sun4i-codec: Merge sun4i_codec_left_mixer_controls and sun4i_codec_right_mixer_controls into sun4i_codec_mixer_controls.

From: Chen-Yu Tsai
Date: Sun Jun 25 2017 - 21:49:37 EST


On Sat, Jun 24, 2017 at 2:24 PM, Danny Milosavljevic
<dannym@xxxxxxxxxxxxxxx> wrote:
> Since it's now possible to have a DAPM mixer control with multiple channels,
> use it to cut down the total number of controls.
>
> Signed-off-by: Danny Milosavljevic <dannym@xxxxxxxxxxxxxxx>
> ---
> sound/soc/sunxi/sun4i-codec.c | 27 ++++++++++++---------------
> 1 file changed, 12 insertions(+), 15 deletions(-)
>
> diff --git a/sound/soc/sunxi/sun4i-codec.c b/sound/soc/sunxi/sun4i-codec.c
> index c69b55c..3718137 100644
> --- a/sound/soc/sunxi/sun4i-codec.c
> +++ b/sound/soc/sunxi/sun4i-codec.c
> @@ -685,15 +685,12 @@ static const struct snd_kcontrol_new sun7i_codec_extra_controls[] = {
> sun7i_codec_micin_preamp_gain_scale),
> };
>
> -static const struct snd_kcontrol_new sun4i_codec_left_mixer_controls[] = {
> - SOC_DAPM_SINGLE("Left DAC Playback Switch", SUN4I_CODEC_DAC_ACTL,
> - SUN4I_CODEC_DAC_ACTL_LDACLMIXS, 1, 0),
> -};
> -
> -static const struct snd_kcontrol_new sun4i_codec_right_mixer_controls[] = {
> - SOC_DAPM_SINGLE("Right DAC Playback Switch", SUN4I_CODEC_DAC_ACTL,
> +static const struct snd_kcontrol_new sun4i_codec_mixer_controls[] = {
> + SOC_DAPM_DOUBLE("DAC Playback Switch", SUN4I_CODEC_DAC_ACTL,
> + SUN4I_CODEC_DAC_ACTL_LDACLMIXS,
> SUN4I_CODEC_DAC_ACTL_RDACRMIXS, 1, 0),

This changes the mixer control names exposed to userspace. While I think
consolidating mixer controls is nice, giving the user a less cluttered
view, I'm not sure about the changing a possible userspace ABI.

Maxime, ALSA and ASoC people, any comments about this?

ChenYu

> - SOC_DAPM_SINGLE("Left DAC Playback Switch", SUN4I_CODEC_DAC_ACTL,
> + SOC_DAPM_SINGLE("Right Mixer Left DAC Playback Switch",
> + SUN4I_CODEC_DAC_ACTL,
> SUN4I_CODEC_DAC_ACTL_LDACRMIXS, 1, 0),
> };
>
> @@ -729,11 +726,11 @@ static const struct snd_soc_dapm_widget sun4i_codec_codec_dapm_widgets[] = {
>
> /* Mixers */
> SND_SOC_DAPM_MIXER("Left Mixer", SND_SOC_NOPM, 0, 0,
> - sun4i_codec_left_mixer_controls,
> - ARRAY_SIZE(sun4i_codec_left_mixer_controls)),
> + sun4i_codec_mixer_controls,
> + ARRAY_SIZE(sun4i_codec_mixer_controls)),
> SND_SOC_DAPM_MIXER("Right Mixer", SND_SOC_NOPM, 0, 0,
> - sun4i_codec_right_mixer_controls,
> - ARRAY_SIZE(sun4i_codec_right_mixer_controls)),
> + sun4i_codec_mixer_controls,
> + ARRAY_SIZE(sun4i_codec_mixer_controls)),
>
> /* Global Mixer Enable */
> SND_SOC_DAPM_SUPPLY("Mixer Enable", SUN4I_CODEC_DAC_ACTL,
> @@ -775,12 +772,12 @@ static const struct snd_soc_dapm_route sun4i_codec_codec_dapm_routes[] = {
>
> /* Right Mixer Routes */
> { "Right Mixer", NULL, "Mixer Enable" },
> - { "Right Mixer", "Left DAC Playback Switch", "Left DAC" },
> - { "Right Mixer", "Right DAC Playback Switch", "Right DAC" },
> + { "Right Mixer", "DAC Playback Switch", "Left DAC" },
> + { "Right Mixer", "Right Mixer Left DAC Playback Switch", "Left DAC" },
>
> /* Left Mixer Routes */
> { "Left Mixer", NULL, "Mixer Enable" },
> - { "Left Mixer", "Left DAC Playback Switch", "Left DAC" },
> + { "Left Mixer", "DAC Playback Switch", "Left DAC" },
>
> /* Power Amplifier Routes */
> { "Power Amplifier", "Mixer Playback Switch", "Left Mixer" },
> --
> 2.1.4
>