ASoC: dapm: Fix changes to DECLARE_ADAU17X1_DSP_MUX_CTRL
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Thu, 6 Mar 2025 10:42:33 +0000 (10:42 +0000)
committerMark Brown <broonie@kernel.org>
Thu, 6 Mar 2025 13:26:59 +0000 (13:26 +0000)
The changes to DECLARE_ADAU17X1_DSP_MUX_CTRL did avoid the issue with a
compiler not liking all the macro indirection. However it introduced a
new issue with respect to the mux not being declared static:

sound/soc/codecs/adau17x1.c:275:8: sparse: sparse: symbol
'adau17x1_dac_mux' was not declared. Should it be static?
sound/soc/codecs/adau17x1.c:278:8: sparse: sparse: symbol
'adau17x1_capture_mux' was not declared. Should it be static?

Fix this up by going back to the inline declaration of the soc_enum, but
just call SOC_ENUM_EXT directly rather than indirecting through
SOC_DAPM_ENUM_EXT.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202503061119.4QGlnOi6-lkp@intel.com/
Fixes: c951b20766f0 ("ASoC: dapm: Use ASoC control macros where possible")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20250306104233.1638625-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/adau17x1.c

index 2ebb5c90bdd911812b63a918b0f635a8733328a4..0b6b0d2115eb073edb7f8bc263a06e5144e1857f 100644 (file)
@@ -254,13 +254,11 @@ static int adau17x1_dsp_mux_enum_get(struct snd_kcontrol *kcontrol,
 }
 
 #define DECLARE_ADAU17X1_DSP_MUX_CTRL(_name, _label, _stream, _text) \
-       const struct soc_enum _name##_enum = \
-                       SOC_ENUM_SINGLE(SND_SOC_NOPM, _stream, \
-                                       ARRAY_SIZE(_text), _text); \
        const struct snd_kcontrol_new _name = \
-               SOC_DAPM_ENUM_EXT(_label, _name##_enum, \
-                                 adau17x1_dsp_mux_enum_get, \
-                                 adau17x1_dsp_mux_enum_put)
+               SOC_ENUM_EXT(_label, (const struct soc_enum)\
+                       SOC_ENUM_SINGLE(SND_SOC_NOPM, _stream, \
+                               ARRAY_SIZE(_text), _text), \
+                       adau17x1_dsp_mux_enum_get, adau17x1_dsp_mux_enum_put)
 
 static const char * const adau17x1_dac_mux_text[] = {
        "DSP",