Add new helper macros for defining the enum elements with a constant array. With these macros, redundant ARRAY_SIZE() can be removed in the code.
Signed-off-by: Takashi Iwai tiwai@suse.de --- include/sound/soc.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/include/sound/soc.h b/include/sound/soc.h index cc891387e7ac..11966c1cd33a 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -285,9 +285,13 @@ * Simplified versions of above macros, declaring a struct and calculating * ARRAY_SIZE internally */ +#define SOC_ENUM_DOUBLE_CONST(xreg, xshift_l, xshift_r, xtexts) \ + SOC_ENUM_DOUBLE(xreg, xshift_l, xshift_r, ARRAY_SIZE(xtexts), xtexts) +#define SOC_ENUM_SINGLE_CONST(xreg, xshift, xtexts) \ + SOC_ENUM_DOUBLE_CONST(xreg, xshift, xshift, xtexts) + #define SOC_ENUM_DOUBLE_DECL(name, xreg, xshift_l, xshift_r, xtexts) \ - const struct soc_enum name = SOC_ENUM_DOUBLE(xreg, xshift_l, xshift_r, \ - ARRAY_SIZE(xtexts), xtexts) + const struct soc_enum name = SOC_ENUM_DOUBLE_CONST(xreg, xshift_l, xshift_r, xtexts) #define SOC_ENUM_SINGLE_DECL(name, xreg, xshift, xtexts) \ SOC_ENUM_DOUBLE_DECL(name, xreg, xshift, xshift, xtexts) #define SOC_ENUM_SINGLE_EXT_DECL(name, xtexts) \