From 5c6af39f28aca4baefdb73226db7f46d7f16fb5a Mon Sep 17 00:00:00 2001 From: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com> Date: Wed, 14 Nov 2018 14:50:26 +0200 Subject: [PATCH] MLKU-24-8 sound:asoc: change soc_enum array to single enums It is error prone to use soc_enum array for controls because introducing new controls must always be done at the end of array or it will add offset to existing controls. Signed-off-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com> Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com> (cherry picked from commit 08004f69efadd4b0631c2759a171811885ac8bbd) --- sound/soc/fsl/fsl_micfil.c | 42 ++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/sound/soc/fsl/fsl_micfil.c b/sound/soc/fsl/fsl_micfil.c index 9d89b2839e912d..81a60a1b182779 100644 --- a/sound/soc/fsl/fsl_micfil.c +++ b/sound/soc/fsl/fsl_micfil.c @@ -148,28 +148,34 @@ static const char * const micfil_clk_src_texts[] = { "Auto", "AudioPLL1", "AudioPLL2", "ExtClk3", }; -static const struct soc_enum fsl_micfil_enum[] = { +static const struct soc_enum fsl_micfil_quality_enum = SOC_ENUM_SINGLE(REG_MICFIL_CTRL2, MICFIL_CTRL2_QSEL_SHIFT, ARRAY_SIZE(micfil_quality_select_texts), - micfil_quality_select_texts), + micfil_quality_select_texts); +static const struct soc_enum fsl_micfil_hwvad_init_mode_enum = SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(micfil_hwvad_init_mode), - micfil_hwvad_init_mode), + micfil_hwvad_init_mode); +static const struct soc_enum fsl_micfil_hwvad_hpf_enum = SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(micfil_hwvad_hpf_texts), - micfil_hwvad_hpf_texts), + micfil_hwvad_hpf_texts); +static const struct soc_enum fsl_micfil_hwvad_zcd_enum = SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(micfil_hwvad_zcd_enable), - micfil_hwvad_zcd_enable), + micfil_hwvad_zcd_enable); +static const struct soc_enum fsl_micfil_hwvad_zcdauto_enum = SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(micfil_hwvad_zcdauto_enable), - micfil_hwvad_zcd_enable), + micfil_hwvad_zcd_enable); +static const struct soc_enum fsl_micfil_hwvad_ndec_enum = SOC_ENUM_SINGLE(REG_MICFIL_VAD0_NCONFIG, MICFIL_VAD0_NCONFIG_NOREN_SHIFT, ARRAY_SIZE(micfil_hwvad_noise_decimation), - micfil_hwvad_noise_decimation), + micfil_hwvad_noise_decimation); +static const struct soc_enum fsl_micfil_hwvad_rate_enum = SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(micfil_hwvad_rate), - micfil_hwvad_rate), + micfil_hwvad_rate); +static const struct soc_enum fsl_micfil_clk_src_enum = SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(micfil_clk_src_texts), - micfil_clk_src_texts), -}; + micfil_clk_src_texts); static int micfil_put_clk_src(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) @@ -655,28 +661,28 @@ static const struct snd_kcontrol_new fsl_micfil_snd_controls[] = { get_channel_gain, put_channel_gain, gain_tlv), SOC_ENUM_EXT("MICFIL Quality Select", - fsl_micfil_enum[0], + fsl_micfil_quality_enum, snd_soc_get_enum_double, snd_soc_put_enum_double), SOC_ENUM_EXT("HWVAD Initialization Mode", - fsl_micfil_enum[1], + fsl_micfil_hwvad_init_mode_enum, hwvad_get_init_mode, hwvad_put_init_mode), SOC_ENUM_EXT("HWVAD High-Pass Filter", - fsl_micfil_enum[2], + fsl_micfil_hwvad_hpf_enum, hwvad_get_hpf, hwvad_put_hpf), SOC_ENUM_EXT("HWVAD Zero-Crossing Detector Enable", - fsl_micfil_enum[3], + fsl_micfil_hwvad_zcd_enum, hwvad_get_zcd_en, hwvad_put_zcd_en), SOC_ENUM_EXT("HWVAD Zero-Crossing Detector Auto Threshold", - fsl_micfil_enum[4], + fsl_micfil_hwvad_zcdauto_enum, hwvad_get_zcd_auto, hwvad_put_zcd_auto), SOC_ENUM_EXT("HWVAD Noise OR Enable", - fsl_micfil_enum[5], + fsl_micfil_hwvad_ndec_enum, snd_soc_get_enum_double, snd_soc_put_enum_double), SOC_ENUM_EXT("HWVAD Sampling Rate", - fsl_micfil_enum[6], + fsl_micfil_hwvad_rate_enum, hwvad_get_rate, hwvad_put_rate), SOC_ENUM_EXT("Clock Source", - fsl_micfil_enum[7], + fsl_micfil_clk_src_enum, micfil_get_clk_src, micfil_put_clk_src), { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, -- GitLab