Hi Andy, I love your patch! Yet something to improve: [auto build test ERROR on 9d157c89c5569f0ef560b7a5b2d7bf59ae98499c] url: https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/pinctrl-Clean-up-and-add-missed-headers/20221011-042138 base: 9d157c89c5569f0ef560b7a5b2d7bf59ae98499c config: s390-allyesconfig compiler: s390-linux-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/4c604b9cf7e296809c5b17f12e9e9766bfda0ee4 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Andy-Shevchenko/pinctrl-Clean-up-and-add-missed-headers/20221011-042138 git checkout 4c604b9cf7e296809c5b17f12e9e9766bfda0ee4 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=s390 SHELL=/bin/bash drivers/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): >> drivers/pinctrl/pinctrl-bm1880.c:1285:21: error: variable 'bm1880_pinconf_ops' has initializer but incomplete type 1285 | static const struct pinconf_ops bm1880_pinconf_ops = { | ^~~~~~~~~~~ >> drivers/pinctrl/pinctrl-bm1880.c:1286:10: error: 'const struct pinconf_ops' has no member named 'is_generic' 1286 | .is_generic = true, | ^~~~~~~~~~ drivers/pinctrl/pinctrl-bm1880.c:1286:23: warning: excess elements in struct initializer 1286 | .is_generic = true, | ^~~~ drivers/pinctrl/pinctrl-bm1880.c:1286:23: note: (near initialization for 'bm1880_pinconf_ops') >> drivers/pinctrl/pinctrl-bm1880.c:1287:10: error: 'const struct pinconf_ops' has no member named 'pin_config_get' 1287 | .pin_config_get = bm1880_pinconf_cfg_get, | ^~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-bm1880.c:1287:27: warning: excess elements in struct initializer 1287 | .pin_config_get = bm1880_pinconf_cfg_get, | ^~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-bm1880.c:1287:27: note: (near initialization for 'bm1880_pinconf_ops') >> drivers/pinctrl/pinctrl-bm1880.c:1288:10: error: 'const struct pinconf_ops' has no member named 'pin_config_set' 1288 | .pin_config_set = bm1880_pinconf_cfg_set, | ^~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-bm1880.c:1288:27: warning: excess elements in struct initializer 1288 | .pin_config_set = bm1880_pinconf_cfg_set, | ^~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-bm1880.c:1288:27: note: (near initialization for 'bm1880_pinconf_ops') >> drivers/pinctrl/pinctrl-bm1880.c:1289:10: error: 'const struct pinconf_ops' has no member named 'pin_config_group_set' 1289 | .pin_config_group_set = bm1880_pinconf_group_set, | ^~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-bm1880.c:1289:33: warning: excess elements in struct initializer 1289 | .pin_config_group_set = bm1880_pinconf_group_set, | ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-bm1880.c:1289:33: note: (near initialization for 'bm1880_pinconf_ops') >> drivers/pinctrl/pinctrl-bm1880.c:1285:33: error: storage size of 'bm1880_pinconf_ops' isn't known 1285 | static const struct pinconf_ops bm1880_pinconf_ops = { | ^~~~~~~~~~~~~~~~~~ -- >> drivers/pinctrl/pinctrl-lpc18xx.c:1122:21: error: variable 'lpc18xx_pconf_ops' has initializer but incomplete type 1122 | static const struct pinconf_ops lpc18xx_pconf_ops = { | ^~~~~~~~~~~ >> drivers/pinctrl/pinctrl-lpc18xx.c:1123:10: error: 'const struct pinconf_ops' has no member named 'is_generic' 1123 | .is_generic = true, | ^~~~~~~~~~ drivers/pinctrl/pinctrl-lpc18xx.c:1123:27: warning: excess elements in struct initializer 1123 | .is_generic = true, | ^~~~ drivers/pinctrl/pinctrl-lpc18xx.c:1123:27: note: (near initialization for 'lpc18xx_pconf_ops') >> drivers/pinctrl/pinctrl-lpc18xx.c:1124:10: error: 'const struct pinconf_ops' has no member named 'pin_config_get' 1124 | .pin_config_get = lpc18xx_pconf_get, | ^~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-lpc18xx.c:1124:27: warning: excess elements in struct initializer 1124 | .pin_config_get = lpc18xx_pconf_get, | ^~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-lpc18xx.c:1124:27: note: (near initialization for 'lpc18xx_pconf_ops') >> drivers/pinctrl/pinctrl-lpc18xx.c:1125:10: error: 'const struct pinconf_ops' has no member named 'pin_config_set' 1125 | .pin_config_set = lpc18xx_pconf_set, | ^~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-lpc18xx.c:1125:27: warning: excess elements in struct initializer 1125 | .pin_config_set = lpc18xx_pconf_set, | ^~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-lpc18xx.c:1125:27: note: (near initialization for 'lpc18xx_pconf_ops') >> drivers/pinctrl/pinctrl-lpc18xx.c:1122:33: error: storage size of 'lpc18xx_pconf_ops' isn't known 1122 | static const struct pinconf_ops lpc18xx_pconf_ops = { | ^~~~~~~~~~~~~~~~~ -- >> drivers/pinctrl/pinctrl-microchip-sgpio.c:416:21: error: variable 'sgpio_confops' has initializer but incomplete type 416 | static const struct pinconf_ops sgpio_confops = { | ^~~~~~~~~~~ >> drivers/pinctrl/pinctrl-microchip-sgpio.c:417:10: error: 'const struct pinconf_ops' has no member named 'is_generic' 417 | .is_generic = true, | ^~~~~~~~~~ drivers/pinctrl/pinctrl-microchip-sgpio.c:417:23: warning: excess elements in struct initializer 417 | .is_generic = true, | ^~~~ drivers/pinctrl/pinctrl-microchip-sgpio.c:417:23: note: (near initialization for 'sgpio_confops') >> drivers/pinctrl/pinctrl-microchip-sgpio.c:418:10: error: 'const struct pinconf_ops' has no member named 'pin_config_get' 418 | .pin_config_get = sgpio_pinconf_get, | ^~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-microchip-sgpio.c:418:27: warning: excess elements in struct initializer 418 | .pin_config_get = sgpio_pinconf_get, | ^~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-microchip-sgpio.c:418:27: note: (near initialization for 'sgpio_confops') >> drivers/pinctrl/pinctrl-microchip-sgpio.c:419:10: error: 'const struct pinconf_ops' has no member named 'pin_config_set' 419 | .pin_config_set = sgpio_pinconf_set, | ^~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-microchip-sgpio.c:419:27: warning: excess elements in struct initializer 419 | .pin_config_set = sgpio_pinconf_set, | ^~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-microchip-sgpio.c:419:27: note: (near initialization for 'sgpio_confops') >> drivers/pinctrl/pinctrl-microchip-sgpio.c:420:10: error: 'const struct pinconf_ops' has no member named 'pin_config_config_dbg_show' 420 | .pin_config_config_dbg_show = pinconf_generic_dump_config, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-microchip-sgpio.c:420:39: warning: excess elements in struct initializer 420 | .pin_config_config_dbg_show = pinconf_generic_dump_config, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-microchip-sgpio.c:420:39: note: (near initialization for 'sgpio_confops') >> drivers/pinctrl/pinctrl-microchip-sgpio.c:416:33: error: storage size of 'sgpio_confops' isn't known 416 | static const struct pinconf_ops sgpio_confops = { | ^~~~~~~~~~~~~ -- >> drivers/pinctrl/pinctrl-single.c:666:21: error: variable 'pcs_pinconf_ops' has initializer but incomplete type 666 | static const struct pinconf_ops pcs_pinconf_ops = { | ^~~~~~~~~~~ >> drivers/pinctrl/pinctrl-single.c:667:10: error: 'const struct pinconf_ops' has no member named 'pin_config_get' 667 | .pin_config_get = pcs_pinconf_get, | ^~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-single.c:667:27: warning: excess elements in struct initializer 667 | .pin_config_get = pcs_pinconf_get, | ^~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-single.c:667:27: note: (near initialization for 'pcs_pinconf_ops') >> drivers/pinctrl/pinctrl-single.c:668:10: error: 'const struct pinconf_ops' has no member named 'pin_config_set' 668 | .pin_config_set = pcs_pinconf_set, | ^~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-single.c:668:27: warning: excess elements in struct initializer 668 | .pin_config_set = pcs_pinconf_set, | ^~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-single.c:668:27: note: (near initialization for 'pcs_pinconf_ops') >> drivers/pinctrl/pinctrl-single.c:669:10: error: 'const struct pinconf_ops' has no member named 'pin_config_group_get' 669 | .pin_config_group_get = pcs_pinconf_group_get, | ^~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-single.c:669:33: warning: excess elements in struct initializer 669 | .pin_config_group_get = pcs_pinconf_group_get, | ^~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-single.c:669:33: note: (near initialization for 'pcs_pinconf_ops') >> drivers/pinctrl/pinctrl-single.c:670:10: error: 'const struct pinconf_ops' has no member named 'pin_config_group_set' 670 | .pin_config_group_set = pcs_pinconf_group_set, | ^~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-single.c:670:33: warning: excess elements in struct initializer 670 | .pin_config_group_set = pcs_pinconf_group_set, | ^~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-single.c:670:33: note: (near initialization for 'pcs_pinconf_ops') >> drivers/pinctrl/pinctrl-single.c:671:10: error: 'const struct pinconf_ops' has no member named 'pin_config_dbg_show' 671 | .pin_config_dbg_show = pcs_pinconf_dbg_show, | ^~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-single.c:671:32: warning: excess elements in struct initializer 671 | .pin_config_dbg_show = pcs_pinconf_dbg_show, | ^~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-single.c:671:32: note: (near initialization for 'pcs_pinconf_ops') >> drivers/pinctrl/pinctrl-single.c:672:10: error: 'const struct pinconf_ops' has no member named 'pin_config_group_dbg_show' 672 | .pin_config_group_dbg_show = pcs_pinconf_group_dbg_show, | ^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-single.c:672:38: warning: excess elements in struct initializer 672 | .pin_config_group_dbg_show = pcs_pinconf_group_dbg_show, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-single.c:672:38: note: (near initialization for 'pcs_pinconf_ops') >> drivers/pinctrl/pinctrl-single.c:673:10: error: 'const struct pinconf_ops' has no member named 'pin_config_config_dbg_show' 673 | .pin_config_config_dbg_show = pcs_pinconf_config_dbg_show, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-single.c:673:39: warning: excess elements in struct initializer 673 | .pin_config_config_dbg_show = pcs_pinconf_config_dbg_show, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-single.c:673:39: note: (near initialization for 'pcs_pinconf_ops') >> drivers/pinctrl/pinctrl-single.c:674:10: error: 'const struct pinconf_ops' has no member named 'is_generic' 674 | .is_generic = true, | ^~~~~~~~~~ drivers/pinctrl/pinctrl-single.c:674:23: warning: excess elements in struct initializer 674 | .is_generic = true, | ^~~~ drivers/pinctrl/pinctrl-single.c:674:23: note: (near initialization for 'pcs_pinconf_ops') >> drivers/pinctrl/pinctrl-single.c:666:33: error: storage size of 'pcs_pinconf_ops' isn't known 666 | static const struct pinconf_ops pcs_pinconf_ops = { | ^~~~~~~~~~~~~~~ -- >> drivers/pinctrl/renesas/pinctrl-rzn1.c:668:21: error: variable 'rzn1_pinconf_ops' has initializer but incomplete type 668 | static const struct pinconf_ops rzn1_pinconf_ops = { | ^~~~~~~~~~~ >> drivers/pinctrl/renesas/pinctrl-rzn1.c:669:10: error: 'const struct pinconf_ops' has no member named 'is_generic' 669 | .is_generic = true, | ^~~~~~~~~~ drivers/pinctrl/renesas/pinctrl-rzn1.c:669:23: warning: excess elements in struct initializer 669 | .is_generic = true, | ^~~~ drivers/pinctrl/renesas/pinctrl-rzn1.c:669:23: note: (near initialization for 'rzn1_pinconf_ops') >> drivers/pinctrl/renesas/pinctrl-rzn1.c:670:10: error: 'const struct pinconf_ops' has no member named 'pin_config_get' 670 | .pin_config_get = rzn1_pinconf_get, | ^~~~~~~~~~~~~~ drivers/pinctrl/renesas/pinctrl-rzn1.c:670:27: warning: excess elements in struct initializer 670 | .pin_config_get = rzn1_pinconf_get, | ^~~~~~~~~~~~~~~~ drivers/pinctrl/renesas/pinctrl-rzn1.c:670:27: note: (near initialization for 'rzn1_pinconf_ops') >> drivers/pinctrl/renesas/pinctrl-rzn1.c:671:10: error: 'const struct pinconf_ops' has no member named 'pin_config_set' 671 | .pin_config_set = rzn1_pinconf_set, | ^~~~~~~~~~~~~~ drivers/pinctrl/renesas/pinctrl-rzn1.c:671:27: warning: excess elements in struct initializer 671 | .pin_config_set = rzn1_pinconf_set, | ^~~~~~~~~~~~~~~~ drivers/pinctrl/renesas/pinctrl-rzn1.c:671:27: note: (near initialization for 'rzn1_pinconf_ops') >> drivers/pinctrl/renesas/pinctrl-rzn1.c:672:10: error: 'const struct pinconf_ops' has no member named 'pin_config_group_get' 672 | .pin_config_group_get = rzn1_pinconf_group_get, | ^~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/renesas/pinctrl-rzn1.c:672:33: warning: excess elements in struct initializer 672 | .pin_config_group_get = rzn1_pinconf_group_get, | ^~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/renesas/pinctrl-rzn1.c:672:33: note: (near initialization for 'rzn1_pinconf_ops') >> drivers/pinctrl/renesas/pinctrl-rzn1.c:673:10: error: 'const struct pinconf_ops' has no member named 'pin_config_group_set' 673 | .pin_config_group_set = rzn1_pinconf_group_set, | ^~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/renesas/pinctrl-rzn1.c:673:33: warning: excess elements in struct initializer 673 | .pin_config_group_set = rzn1_pinconf_group_set, | ^~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/renesas/pinctrl-rzn1.c:673:33: note: (near initialization for 'rzn1_pinconf_ops') >> drivers/pinctrl/renesas/pinctrl-rzn1.c:674:10: error: 'const struct pinconf_ops' has no member named 'pin_config_config_dbg_show' 674 | .pin_config_config_dbg_show = pinconf_generic_dump_config, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/renesas/pinctrl-rzn1.c:674:39: warning: excess elements in struct initializer 674 | .pin_config_config_dbg_show = pinconf_generic_dump_config, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/renesas/pinctrl-rzn1.c:674:39: note: (near initialization for 'rzn1_pinconf_ops') >> drivers/pinctrl/renesas/pinctrl-rzn1.c:668:33: error: storage size of 'rzn1_pinconf_ops' isn't known 668 | static const struct pinconf_ops rzn1_pinconf_ops = { | ^~~~~~~~~~~~~~~~ vim +1286 drivers/pinctrl/pinctrl-bm1880.c 49bd61ebce5f2d Manivannan Sadhasivam 2019-05-20 1284 49bd61ebce5f2d Manivannan Sadhasivam 2019-05-20 @1285 static const struct pinconf_ops bm1880_pinconf_ops = { 49bd61ebce5f2d Manivannan Sadhasivam 2019-05-20 @1286 .is_generic = true, 49bd61ebce5f2d Manivannan Sadhasivam 2019-05-20 @1287 .pin_config_get = bm1880_pinconf_cfg_get, 49bd61ebce5f2d Manivannan Sadhasivam 2019-05-20 @1288 .pin_config_set = bm1880_pinconf_cfg_set, 49bd61ebce5f2d Manivannan Sadhasivam 2019-05-20 @1289 .pin_config_group_set = bm1880_pinconf_group_set, 49bd61ebce5f2d Manivannan Sadhasivam 2019-05-20 1290 }; 49bd61ebce5f2d Manivannan Sadhasivam 2019-05-20 1291 -- 0-DAY CI Kernel Test Service https://01.org/lkp