Hi Zhu, Thank you for the patch! Yet something to improve: [auto build test ERROR on broonie-sound/for-next] [also build test ERROR on tiwai-sound/for-next linus/master v5.19-rc8 next-20220728] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Zhu-Ning/ASoC-codecs-add-support-for-ES8326/20220729-171050 base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next config: parisc-randconfig-s042-20220729 (https://download.01.org/0day-ci/archive/20220730/202207300809.yYpFMTmt-lkp@xxxxxxxxx/config) compiler: hppa64-linux-gcc (GCC) 12.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://github.com/intel-lab-lkp/linux/commit/fa066f18e36d4d134a5e94a872c911335b148576 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Zhu-Ning/ASoC-codecs-add-support-for-ES8326/20220729-171050 git checkout fa066f18e36d4d134a5e94a872c911335b148576 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=parisc64 SHELL=/bin/bash sound/soc/codecs/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): In file included from include/linux/container_of.h:5, from include/linux/kernel.h:21, from include/linux/clk.h:13, from sound/soc/codecs/es8326.c:9: sound/soc/codecs/es8326.c: In function 'es8326_jack_button_handler': >> include/linux/container_of.h:19:54: error: 'struct es8326_priv' has no member named 'button_press_work' 19 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \ | ^~ include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert' 78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) | ^~~~ include/linux/container_of.h:19:9: note: in expansion of macro 'static_assert' 19 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \ | ^~~~~~~~~~~~~ include/linux/container_of.h:19:23: note: in expansion of macro '__same_type' 19 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \ | ^~~~~~~~~~~ sound/soc/codecs/es8326.c:533:17: note: in expansion of macro 'container_of' 533 | container_of(work, struct es8326_priv, button_press_work.work); | ^~~~~~~~~~~~ include/linux/compiler_types.h:293:27: error: expression in static assertion is not an integer 293 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert' 78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) | ^~~~ include/linux/container_of.h:19:9: note: in expansion of macro 'static_assert' 19 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \ | ^~~~~~~~~~~~~ include/linux/container_of.h:19:23: note: in expansion of macro '__same_type' 19 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \ | ^~~~~~~~~~~ sound/soc/codecs/es8326.c:533:17: note: in expansion of macro 'container_of' 533 | container_of(work, struct es8326_priv, button_press_work.work); | ^~~~~~~~~~~~ In file included from include/uapi/linux/posix_types.h:5, from include/uapi/linux/types.h:14, from include/linux/types.h:6, from include/linux/kasan-checks.h:5, from include/asm-generic/rwonce.h:26, from ./arch/parisc/include/generated/asm/rwonce.h:1, from include/linux/compiler.h:248, from include/linux/err.h:5, from include/linux/clk.h:12: >> include/linux/stddef.h:16:33: error: 'struct es8326_priv' has no member named 'button_press_work' 16 | #define offsetof(TYPE, MEMBER) __builtin_offsetof(TYPE, MEMBER) | ^~~~~~~~~~~~~~~~~~ include/linux/container_of.h:22:28: note: in expansion of macro 'offsetof' 22 | ((type *)(__mptr - offsetof(type, member))); }) | ^~~~~~~~ sound/soc/codecs/es8326.c:533:17: note: in expansion of macro 'container_of' 533 | container_of(work, struct es8326_priv, button_press_work.work); | ^~~~~~~~~~~~ >> sound/soc/codecs/es8326.c:543:46: error: 'ES8326_HP_DECTECT_FB' undeclared (first use in this function); did you mean 'ES8326_HP_DETECT_FB'? 543 | iface = snd_soc_component_read(comp, ES8326_HP_DECTECT_FB); | ^~~~~~~~~~~~~~~~~~~~ | ES8326_HP_DETECT_FB sound/soc/codecs/es8326.c:543:46: note: each undeclared identifier is reported only once for each function it appears in >> sound/soc/codecs/es8326.c:574:54: error: 'struct es8326_priv' has no member named 'button_press_work' 574 | queue_delayed_work(system_wq, &es8326->button_press_work, | ^~ sound/soc/codecs/es8326.c:579:54: error: 'struct es8326_priv' has no member named 'button_press_work' 579 | queue_delayed_work(system_wq, &es8326->button_press_work, | ^~ sound/soc/codecs/es8326.c: In function 'es8326_jack_detect_handler': sound/soc/codecs/es8326.c:602:46: error: 'ES8326_HP_DECTECT_FB' undeclared (first use in this function); did you mean 'ES8326_HP_DETECT_FB'? 602 | iface = snd_soc_component_read(comp, ES8326_HP_DECTECT_FB); | ^~~~~~~~~~~~~~~~~~~~ | ES8326_HP_DETECT_FB sound/soc/codecs/es8326.c:615:62: error: 'struct es8326_priv' has no member named 'button_press_work' 615 | queue_delayed_work(system_wq, &es8326->button_press_work, 10); | ^~ sound/soc/codecs/es8326.c: In function 'es8326_resume': >> sound/soc/codecs/es8326.c:681:14: error: 'reg' undeclared (first use in this function) 681 | if ((reg & ES8326_VERSION_B) == 1) { | ^~~ sound/soc/codecs/es8326.c: In function 'es8326_probe': >> sound/soc/codecs/es8326.c:740:41: error: 'ES8326_INT_SRC_PIN9' undeclared (first use in this function); did you mean 'ES8326_HP_DET_SRC_PIN9'? 740 | es8326->interrupt_src = ES8326_INT_SRC_PIN9; | ^~~~~~~~~~~~~~~~~~~ | ES8326_HP_DET_SRC_PIN9 sound/soc/codecs/es8326.c: At top level: sound/soc/codecs/es8326.c:530:13: warning: 'es8326_jack_button_handler' defined but not used [-Wunused-function] 530 | static void es8326_jack_button_handler(struct work_struct *work) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ sound/soc/codecs/es8326.c:315:42: warning: 'es8326_constraints' defined but not used [-Wunused-variable] 315 | static struct snd_pcm_hw_constraint_list es8326_constraints = { | ^~~~~~~~~~~~~~~~~~ vim +19 include/linux/container_of.h d2a8ebbf8192b84 Andy Shevchenko 2021-11-08 9 d2a8ebbf8192b84 Andy Shevchenko 2021-11-08 10 /** d2a8ebbf8192b84 Andy Shevchenko 2021-11-08 11 * container_of - cast a member of a structure out to the containing structure d2a8ebbf8192b84 Andy Shevchenko 2021-11-08 12 * @ptr: the pointer to the member. d2a8ebbf8192b84 Andy Shevchenko 2021-11-08 13 * @type: the type of the container struct this is embedded in. d2a8ebbf8192b84 Andy Shevchenko 2021-11-08 14 * @member: the name of the member within the struct. d2a8ebbf8192b84 Andy Shevchenko 2021-11-08 15 * d2a8ebbf8192b84 Andy Shevchenko 2021-11-08 16 */ d2a8ebbf8192b84 Andy Shevchenko 2021-11-08 17 #define container_of(ptr, type, member) ({ \ d2a8ebbf8192b84 Andy Shevchenko 2021-11-08 18 void *__mptr = (void *)(ptr); \ e1edc277e6f6dfb Rasmus Villemoes 2021-11-08 @19 static_assert(__same_type(*(ptr), ((type *)0)->member) || \ e1edc277e6f6dfb Rasmus Villemoes 2021-11-08 20 __same_type(*(ptr), void), \ d2a8ebbf8192b84 Andy Shevchenko 2021-11-08 21 "pointer type mismatch in container_of()"); \ d2a8ebbf8192b84 Andy Shevchenko 2021-11-08 22 ((type *)(__mptr - offsetof(type, member))); }) d2a8ebbf8192b84 Andy Shevchenko 2021-11-08 23 -- 0-DAY CI Kernel Test Service https://01.org/lkp