Hi Stephen, I love your patch! Yet something to improve: [auto build test ERROR on e4e737bb5c170df6135a127739a9e6148ee3da82] url: https://github.com/0day-ci/linux/commits/Stephen-Boyd/component-Make-into-an-aggregate-bus/20211007-034200 base: e4e737bb5c170df6135a127739a9e6148ee3da82 config: hexagon-randconfig-r045-20211006 (attached as .config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c0039de2953d15815448b4b3c3bafb45607781e0) 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/0day-ci/linux/commit/b7f12127fd97fe811eaf9600a6677fb1cbb66554 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Stephen-Boyd/component-Make-into-an-aggregate-bus/20211007-034200 git checkout b7f12127fd97fe811eaf9600a6677fb1cbb66554 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=hexagon If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): >> drivers/base/component.c:509:13: error: incompatible function pointer types initializing 'void (*)(struct device *)' with an expression of type 'int (struct device *)' [-Werror,-Wincompatible-function-pointer-types] .remove = aggregate_driver_remove, ^~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. vim +509 drivers/base/component.c 504 505 static struct bus_type aggregate_bus_type = { 506 .name = "aggregate", 507 .match = aggregate_device_match, 508 .probe = aggregate_driver_probe, > 509 .remove = aggregate_driver_remove, 510 .shutdown = aggregate_driver_shutdown, 511 }; 512 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org