tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: e78aa714e3261e23c7413fd6e719820e271ff128 commit: 5a309875787db47d69610e45f00a727ef9e62aa0 [3614/5994] ASoC: Fix SND_SOC_ALL_CODECS imply ac97 fallout config: arm-eseries_pxa_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (GCC) 7.5.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 5a309875787db47d69610e45f00a727ef9e62aa0 # save the attached .config to linux build tree GCC_VERSION=7.5.0 make.cross ARCH=arm If you fix the issue, kindly add following tag Reported-by: kbuild test robot All error/warnings (new ones prefixed by >>): sound/soc/codecs/wm9712.c: In function 'wm9712_volatile_reg': >> sound/soc/codecs/wm9712.c:80:10: error: implicit declaration of function 'regmap_ac97_default_volatile' [-Werror=implicit-function-declaration] return regmap_ac97_default_volatile(dev, reg); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ sound/soc/codecs/wm9712.c: At top level: >> sound/soc/codecs/wm9712.c:84:21: error: variable 'wm9712_regmap_config' has initializer but incomplete type static const struct regmap_config wm9712_regmap_config = { ^~~~~~~~~~~~~ >> sound/soc/codecs/wm9712.c:85:3: error: 'const struct regmap_config' has no member named 'reg_bits' .reg_bits = 16, ^~~~~~~~ >> sound/soc/codecs/wm9712.c:85:14: warning: excess elements in struct initializer .reg_bits = 16, ^~ sound/soc/codecs/wm9712.c:85:14: note: (near initialization for 'wm9712_regmap_config') >> sound/soc/codecs/wm9712.c:86:3: error: 'const struct regmap_config' has no member named 'reg_stride' .reg_stride = 2, ^~~~~~~~~~ sound/soc/codecs/wm9712.c:86:16: warning: excess elements in struct initializer .reg_stride = 2, ^ sound/soc/codecs/wm9712.c:86:16: note: (near initialization for 'wm9712_regmap_config') >> sound/soc/codecs/wm9712.c:87:3: error: 'const struct regmap_config' has no member named 'val_bits' .val_bits = 16, ^~~~~~~~ sound/soc/codecs/wm9712.c:87:14: warning: excess elements in struct initializer .val_bits = 16, ^~ sound/soc/codecs/wm9712.c:87:14: note: (near initialization for 'wm9712_regmap_config') >> sound/soc/codecs/wm9712.c:88:3: error: 'const struct regmap_config' has no member named 'max_register' .max_register = 0x7e, ^~~~~~~~~~~~ sound/soc/codecs/wm9712.c:88:18: warning: excess elements in struct initializer .max_register = 0x7e, ^~~~ sound/soc/codecs/wm9712.c:88:18: note: (near initialization for 'wm9712_regmap_config') >> sound/soc/codecs/wm9712.c:89:3: error: 'const struct regmap_config' has no member named 'cache_type' .cache_type = REGCACHE_RBTREE, ^~~~~~~~~~ sound/soc/codecs/wm9712.c:89:16: warning: excess elements in struct initializer .cache_type = REGCACHE_RBTREE, ^~~~~~~~~~~~~~~ sound/soc/codecs/wm9712.c:89:16: note: (near initialization for 'wm9712_regmap_config') >> sound/soc/codecs/wm9712.c:91:3: error: 'const struct regmap_config' has no member named 'volatile_reg' .volatile_reg = wm9712_volatile_reg, ^~~~~~~~~~~~ sound/soc/codecs/wm9712.c:91:18: warning: excess elements in struct initializer .volatile_reg = wm9712_volatile_reg, ^~~~~~~~~~~~~~~~~~~ sound/soc/codecs/wm9712.c:91:18: note: (near initialization for 'wm9712_regmap_config') >> sound/soc/codecs/wm9712.c:93:3: error: 'const struct regmap_config' has no member named 'reg_defaults' .reg_defaults = wm9712_reg_defaults, ^~~~~~~~~~~~ sound/soc/codecs/wm9712.c:93:18: warning: excess elements in struct initializer .reg_defaults = wm9712_reg_defaults, ^~~~~~~~~~~~~~~~~~~ sound/soc/codecs/wm9712.c:93:18: note: (near initialization for 'wm9712_regmap_config') >> sound/soc/codecs/wm9712.c:94:3: error: 'const struct regmap_config' has no member named 'num_reg_defaults' .num_reg_defaults = ARRAY_SIZE(wm9712_reg_defaults), ^~~~~~~~~~~~~~~~ In file included from include/asm-generic/bug.h:19:0, from arch/arm/include/asm/bug.h:60, from include/linux/bug.h:5, from include/linux/mmdebug.h:5, from include/linux/gfp.h:5, from include/linux/slab.h:15, from sound/soc/codecs/wm9712.c:10: include/linux/kernel.h:47:25: warning: excess elements in struct initializer #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) ^ >> sound/soc/codecs/wm9712.c:94:22: note: in expansion of macro 'ARRAY_SIZE' .num_reg_defaults = ARRAY_SIZE(wm9712_reg_defaults), ^~~~~~~~~~ include/linux/kernel.h:47:25: note: (near initialization for 'wm9712_regmap_config') #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) ^ >> sound/soc/codecs/wm9712.c:94:22: note: in expansion of macro 'ARRAY_SIZE' .num_reg_defaults = ARRAY_SIZE(wm9712_reg_defaults), ^~~~~~~~~~ sound/soc/codecs/wm9712.c: In function 'wm9712_soc_probe': >> sound/soc/codecs/wm9712.c:653:12: error: implicit declaration of function 'regmap_init_ac97'; did you mean 'memmap_init_zone'? [-Werror=implicit-function-declaration] regmap = regmap_init_ac97(wm9712->ac97, &wm9712_regmap_config); ^~~~~~~~~~~~~~~~ memmap_init_zone >> sound/soc/codecs/wm9712.c:653:10: warning: assignment makes pointer from integer without a cast [-Wint-conversion] regmap = regmap_init_ac97(wm9712->ac97, &wm9712_regmap_config); ^ >> sound/soc/codecs/wm9712.c:662:2: error: implicit declaration of function 'snd_soc_component_init_regmap'; did you mean 'snd_soc_component_trigger'? [-Werror=implicit-function-declaration] snd_soc_component_init_regmap(component, regmap); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ snd_soc_component_trigger sound/soc/codecs/wm9712.c: In function 'wm9712_soc_remove': >> sound/soc/codecs/wm9712.c:675:3: error: implicit declaration of function 'snd_soc_component_exit_regmap'; did you mean 'snd_soc_component_trigger'? [-Werror=implicit-function-declaration] snd_soc_component_exit_regmap(component); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ snd_soc_component_trigger sound/soc/codecs/wm9712.c: At top level: >> sound/soc/codecs/wm9712.c:84:35: error: storage size of 'wm9712_regmap_config' isn't known static const struct regmap_config wm9712_regmap_config = { ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/regmap_ac97_default_volatile +80 sound/soc/codecs/wm9712.c 10c5cf30446fe9 Richard Purdie 2006-10-06 73 b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 74 static bool wm9712_volatile_reg(struct device *dev, unsigned int reg) b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 75 { b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 76 switch (reg) { b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 77 case AC97_REC_GAIN: b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 78 return true; b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 79 default: b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 @80 return regmap_ac97_default_volatile(dev, reg); b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 81 } b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 82 } b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 83 b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 @84 static const struct regmap_config wm9712_regmap_config = { b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 @85 .reg_bits = 16, b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 @86 .reg_stride = 2, b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 @87 .val_bits = 16, b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 @88 .max_register = 0x7e, b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 @89 .cache_type = REGCACHE_RBTREE, b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 90 b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 @91 .volatile_reg = wm9712_volatile_reg, b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 92 b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 @93 .reg_defaults = wm9712_reg_defaults, b4f4f2eba4e8f7 Lars-Peter Clausen 2016-09-30 @94 .num_reg_defaults = ARRAY_SIZE(wm9712_reg_defaults), 10c5cf30446fe9 Richard Purdie 2006-10-06 95 }; 10c5cf30446fe9 Richard Purdie 2006-10-06 96 :::::: The code at line 80 was first introduced by commit :::::: b4f4f2eba4e8f717ccd1bb2a35c602ad00dcdfe0 ASoC: wm9712: Convert to regmap :::::: TO: Lars-Peter Clausen :::::: CC: Mark Brown --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org