Hi Quan, I love your patch! Yet something to improve: [auto build test ERROR on lee-mfd/for-mfd-next] [also build test ERROR on char-misc/char-misc-testing groeck-staging/hwmon-next v5.16-rc7 next-20211224] [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] url: https://github.com/0day-ci/linux/commits/Quan-Nguyen/Add-Ampere-s-Altra-SMPro-MFD-and-its-child-drivers/20211224-121646 base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next config: riscv-allyesconfig (https://download.01.org/0day-ci/archive/20211228/202112281453.2HN7j1Av-lkp(a)intel.com/config) compiler: riscv64-linux-gcc (GCC) 11.2.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/0day-ci/linux/commit/51360698e4a65a15d70786670f2f82a78e877217 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Quan-Nguyen/Add-Ampere-s-Altra-SMPro-MFD-and-its-child-drivers/20211224-121646 git checkout 51360698e4a65a15d70786670f2f82a78e877217 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=riscv SHELL=/bin/bash drivers/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from include/linux/kobject.h:20, from include/linux/of.h:17, from include/linux/irqdomain.h:35, from include/linux/acpi.h:13, from include/linux/i2c.h:13, from drivers/misc/smpro-errmon.c:9: >> drivers/misc/smpro-errmon.c:430:23: error: initialization of 'ssize_t (*)(struct device *, struct device_attribute *, char *)' {aka 'long int (*)(struct device *, struct device_attribute *, char *)'} from incompatible pointer type 'int (*)(struct device *, struct device_attribute *, char *)' [-Werror=incompatible-pointer-types] 430 | static DEVICE_ATTR_RO(errors_core_ce); | ^~~~~~~~~~~~~~ include/linux/sysfs.h:117:19: note: in definition of macro '__ATTR_RO' 117 | .show = _name##_show, \ | ^~~~~ drivers/misc/smpro-errmon.c:430:8: note: in expansion of macro 'DEVICE_ATTR_RO' 430 | static DEVICE_ATTR_RO(errors_core_ce); | ^~~~~~~~~~~~~~ drivers/misc/smpro-errmon.c:430:23: note: (near initialization for 'dev_attr_errors_core_ce.show') 430 | static DEVICE_ATTR_RO(errors_core_ce); | ^~~~~~~~~~~~~~ include/linux/sysfs.h:117:19: note: in definition of macro '__ATTR_RO' 117 | .show = _name##_show, \ | ^~~~~ drivers/misc/smpro-errmon.c:430:8: note: in expansion of macro 'DEVICE_ATTR_RO' 430 | static DEVICE_ATTR_RO(errors_core_ce); | ^~~~~~~~~~~~~~ drivers/misc/smpro-errmon.c:436:23: error: initialization of 'ssize_t (*)(struct device *, struct device_attribute *, char *)' {aka 'long int (*)(struct device *, struct device_attribute *, char *)'} from incompatible pointer type 'int (*)(struct device *, struct device_attribute *, char *)' [-Werror=incompatible-pointer-types] 436 | static DEVICE_ATTR_RO(errors_core_ue); | ^~~~~~~~~~~~~~ include/linux/sysfs.h:117:19: note: in definition of macro '__ATTR_RO' 117 | .show = _name##_show, \ | ^~~~~ drivers/misc/smpro-errmon.c:436:8: note: in expansion of macro 'DEVICE_ATTR_RO' 436 | static DEVICE_ATTR_RO(errors_core_ue); | ^~~~~~~~~~~~~~ drivers/misc/smpro-errmon.c:436:23: note: (near initialization for 'dev_attr_errors_core_ue.show') 436 | static DEVICE_ATTR_RO(errors_core_ue); | ^~~~~~~~~~~~~~ include/linux/sysfs.h:117:19: note: in definition of macro '__ATTR_RO' 117 | .show = _name##_show, \ | ^~~~~ drivers/misc/smpro-errmon.c:436:8: note: in expansion of macro 'DEVICE_ATTR_RO' 436 | static DEVICE_ATTR_RO(errors_core_ue); | ^~~~~~~~~~~~~~ drivers/misc/smpro-errmon.c:442:23: error: initialization of 'ssize_t (*)(struct device *, struct device_attribute *, char *)' {aka 'long int (*)(struct device *, struct device_attribute *, char *)'} from incompatible pointer type 'int (*)(struct device *, struct device_attribute *, char *)' [-Werror=incompatible-pointer-types] 442 | static DEVICE_ATTR_RO(errors_mem_ce); | ^~~~~~~~~~~~~ include/linux/sysfs.h:117:19: note: in definition of macro '__ATTR_RO' 117 | .show = _name##_show, \ | ^~~~~ drivers/misc/smpro-errmon.c:442:8: note: in expansion of macro 'DEVICE_ATTR_RO' 442 | static DEVICE_ATTR_RO(errors_mem_ce); | ^~~~~~~~~~~~~~ drivers/misc/smpro-errmon.c:442:23: note: (near initialization for 'dev_attr_errors_mem_ce.show') 442 | static DEVICE_ATTR_RO(errors_mem_ce); | ^~~~~~~~~~~~~ include/linux/sysfs.h:117:19: note: in definition of macro '__ATTR_RO' 117 | .show = _name##_show, \ | ^~~~~ drivers/misc/smpro-errmon.c:442:8: note: in expansion of macro 'DEVICE_ATTR_RO' 442 | static DEVICE_ATTR_RO(errors_mem_ce); | ^~~~~~~~~~~~~~ drivers/misc/smpro-errmon.c:448:23: error: initialization of 'ssize_t (*)(struct device *, struct device_attribute *, char *)' {aka 'long int (*)(struct device *, struct device_attribute *, char *)'} from incompatible pointer type 'int (*)(struct device *, struct device_attribute *, char *)' [-Werror=incompatible-pointer-types] 448 | static DEVICE_ATTR_RO(errors_mem_ue); | ^~~~~~~~~~~~~ include/linux/sysfs.h:117:19: note: in definition of macro '__ATTR_RO' 117 | .show = _name##_show, \ | ^~~~~ drivers/misc/smpro-errmon.c:448:8: note: in expansion of macro 'DEVICE_ATTR_RO' 448 | static DEVICE_ATTR_RO(errors_mem_ue); | ^~~~~~~~~~~~~~ drivers/misc/smpro-errmon.c:448:23: note: (near initialization for 'dev_attr_errors_mem_ue.show') 448 | static DEVICE_ATTR_RO(errors_mem_ue); | ^~~~~~~~~~~~~ include/linux/sysfs.h:117:19: note: in definition of macro '__ATTR_RO' 117 | .show = _name##_show, \ | ^~~~~ drivers/misc/smpro-errmon.c:448:8: note: in expansion of macro 'DEVICE_ATTR_RO' 448 | static DEVICE_ATTR_RO(errors_mem_ue); | ^~~~~~~~~~~~~~ drivers/misc/smpro-errmon.c:454:23: error: initialization of 'ssize_t (*)(struct device *, struct device_attribute *, char *)' {aka 'long int (*)(struct device *, struct device_attribute *, char *)'} from incompatible pointer type 'int (*)(struct device *, struct device_attribute *, char *)' [-Werror=incompatible-pointer-types] 454 | static DEVICE_ATTR_RO(errors_pcie_ce); | ^~~~~~~~~~~~~~ include/linux/sysfs.h:117:19: note: in definition of macro '__ATTR_RO' 117 | .show = _name##_show, \ | ^~~~~ drivers/misc/smpro-errmon.c:454:8: note: in expansion of macro 'DEVICE_ATTR_RO' 454 | static DEVICE_ATTR_RO(errors_pcie_ce); | ^~~~~~~~~~~~~~ drivers/misc/smpro-errmon.c:454:23: note: (near initialization for 'dev_attr_errors_pcie_ce.show') 454 | static DEVICE_ATTR_RO(errors_pcie_ce); | ^~~~~~~~~~~~~~ include/linux/sysfs.h:117:19: note: in definition of macro '__ATTR_RO' 117 | .show = _name##_show, \ | ^~~~~ drivers/misc/smpro-errmon.c:454:8: note: in expansion of macro 'DEVICE_ATTR_RO' 454 | static DEVICE_ATTR_RO(errors_pcie_ce); | ^~~~~~~~~~~~~~ drivers/misc/smpro-errmon.c:460:23: error: initialization of 'ssize_t (*)(struct device *, struct device_attribute *, char *)' {aka 'long int (*)(struct device *, struct device_attribute *, char *)'} from incompatible pointer type 'int (*)(struct device *, struct device_attribute *, char *)' [-Werror=incompatible-pointer-types] 460 | static DEVICE_ATTR_RO(errors_pcie_ue); | ^~~~~~~~~~~~~~ include/linux/sysfs.h:117:19: note: in definition of macro '__ATTR_RO' 117 | .show = _name##_show, \ | ^~~~~ drivers/misc/smpro-errmon.c:460:8: note: in expansion of macro 'DEVICE_ATTR_RO' 460 | static DEVICE_ATTR_RO(errors_pcie_ue); | ^~~~~~~~~~~~~~ drivers/misc/smpro-errmon.c:460:23: note: (near initialization for 'dev_attr_errors_pcie_ue.show') 460 | static DEVICE_ATTR_RO(errors_pcie_ue); vim +430 drivers/misc/smpro-errmon.c 425 426 static int errors_core_ce_show(struct device *dev, struct device_attribute *da, char *buf) 427 { 428 return smpro_error_data_read(dev, da, buf, CORE_CE_ERRS); 429 } > 430 static DEVICE_ATTR_RO(errors_core_ce); 431 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org