Hi Yifeng, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on rockchip/for-next] [also build test WARNING on robh/for-next linus/master v5.9-rc7 next-20200929] [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/Yifeng-Zhao/Add-Rockchip-NFC-drivers-for-RK3308-and-others/20200929-171735 base: https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next config: arm-allmodconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (GCC) 9.3.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/1c9d56b98766d73850def484b00e25b6270429c0 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Yifeng-Zhao/Add-Rockchip-NFC-drivers-for-RK3308-and-others/20200929-171735 git checkout 1c9d56b98766d73850def484b00e25b6270429c0 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): drivers/mtd/nand/raw/rockchip-nand-controller.c:378:25: warning: 'struct nand_data_interface' declared inside parameter list will not be visible outside of this definition or declaration 378 | const struct nand_data_interface *conf) | ^~~~~~~~~~~~~~~~~~~ drivers/mtd/nand/raw/rockchip-nand-controller.c: In function 'rk_nfc_setup_data_interface': drivers/mtd/nand/raw/rockchip-nand-controller.c:388:33: error: passing argument 1 of 'nand_get_sdr_timings' from incompatible pointer type [-Werror=incompatible-pointer-types] 388 | timings = nand_get_sdr_timings(conf); | ^~~~ | | | const struct nand_data_interface * In file included from drivers/mtd/nand/raw/rockchip-nand-controller.c:16: include/linux/mtd/rawnand.h:524:58: note: expected 'const struct nand_interface_config *' but argument is of type 'const struct nand_data_interface *' 524 | nand_get_sdr_timings(const struct nand_interface_config *conf) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ drivers/mtd/nand/raw/rockchip-nand-controller.c: In function 'rk_nfc_attach_chip': drivers/mtd/nand/raw/rockchip-nand-controller.c:1008:15: error: implicit declaration of function 'kzalloc'; did you mean 'vzalloc'? [-Werror=implicit-function-declaration] 1008 | temp_buf = kzalloc(len, GFP_KERNEL | GFP_DMA); | ^~~~~~~ | vzalloc drivers/mtd/nand/raw/rockchip-nand-controller.c:1008:13: warning: assignment to 'u8 *' {aka 'unsigned char *'} from 'int' makes pointer from integer without a cast [-Wint-conversion] 1008 | temp_buf = kzalloc(len, GFP_KERNEL | GFP_DMA); | ^ drivers/mtd/nand/raw/rockchip-nand-controller.c:1011:4: error: implicit declaration of function 'kfree'; did you mean 'vfree'? [-Werror=implicit-function-declaration] 1011 | kfree(nfc->buffer); | ^~~~~ | vfree drivers/mtd/nand/raw/rockchip-nand-controller.c:1016:13: warning: assignment to 'u8 *' {aka 'unsigned char *'} from 'int' makes pointer from integer without a cast [-Wint-conversion] 1016 | temp_buf = kzalloc(oob_len, GFP_KERNEL | GFP_DMA); | ^ drivers/mtd/nand/raw/rockchip-nand-controller.c:1025:14: warning: assignment to 'u8 *' {aka 'unsigned char *'} from 'int' makes pointer from integer without a cast [-Wint-conversion] 1025 | nfc->buffer = kzalloc(len, GFP_KERNEL | GFP_DMA); | ^ drivers/mtd/nand/raw/rockchip-nand-controller.c:1030:15: warning: assignment to 'u32 *' {aka 'unsigned int *'} from 'int' makes pointer from integer without a cast [-Wint-conversion] 1030 | nfc->oob_buf = kzalloc(oob_len, GFP_KERNEL | GFP_DMA); | ^ drivers/mtd/nand/raw/rockchip-nand-controller.c: At top level: drivers/mtd/nand/raw/rockchip-nand-controller.c:1057:3: error: 'const struct nand_controller_ops' has no member named 'setup_data_interface'; did you mean 'setup_interface'? 1057 | .setup_data_interface = rk_nfc_setup_data_interface, | ^~~~~~~~~~~~~~~~~~~~ | setup_interface drivers/mtd/nand/raw/rockchip-nand-controller.c:1057:26: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init] 1057 | .setup_data_interface = rk_nfc_setup_data_interface, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mtd/nand/raw/rockchip-nand-controller.c:1057:26: note: (near initialization for 'rk_nfc_controller_ops') >> drivers/mtd/nand/raw/rockchip-nand-controller.c:1057:26: warning: excess elements in struct initializer drivers/mtd/nand/raw/rockchip-nand-controller.c:1057:26: note: (near initialization for 'rk_nfc_controller_ops') cc1: some warnings being treated as errors vim +1057 drivers/mtd/nand/raw/rockchip-nand-controller.c 1053 1054 static const struct nand_controller_ops rk_nfc_controller_ops = { 1055 .attach_chip = rk_nfc_attach_chip, 1056 .exec_op = rk_nfc_exec_op, > 1057 .setup_data_interface = rk_nfc_setup_data_interface, 1058 }; 1059 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org