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

Chen-Yu Tsai wens at csie.org
Sun Jun 25 18:48:59 PDT 2017


On Sat, Jun 24, 2017 at 2:24 PM, Danny Milosavljevic
<dannym at scratchpost.org> 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 at scratchpost.org>
> ---
>  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
>



More information about the linux-arm-kernel mailing list