Hi Mason, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on spi/for-next] [also build test WARNING on v4.20-rc3 next-20181119] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Mason-Yang/spi-Add-Renesas-R-Car-RPC-SPI-controller-driver/20181120-020310 base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next config: sh-allyesconfig (attached as .config) compiler: sh4-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=sh All warnings (new ones prefixed by >>): drivers//spi/spi-renesas-rpc.c:366:47: warning: 'struct spi_mem_dirmap_desc' declared inside parameter list will not be visible outside of this definition or declaration static ssize_t rpc_spi_mem_dirmap_read(struct spi_mem_dirmap_desc *desc, ^~~~~~~~~~~~~~~~~~~ In file included from drivers//spi/spi-renesas-rpc.c:18:0: drivers//spi/spi-renesas-rpc.c: In function 'rpc_spi_mem_dirmap_read': drivers//spi/spi-renesas-rpc.c:369:51: error: dereferencing pointer to incomplete type 'struct spi_mem_dirmap_desc' struct rpc_spi *rpc = spi_master_get_devdata(desc->mem->spi->master); ^ include/linux/spi/spi.h:1333:66: note: in definition of macro 'spi_master_get_devdata' #define spi_master_get_devdata(_ctlr) spi_controller_get_devdata(_ctlr) ^~~~~ drivers//spi/spi-renesas-rpc.c: At top level: drivers//spi/spi-renesas-rpc.c:397:48: warning: 'struct spi_mem_dirmap_desc' declared inside parameter list will not be visible outside of this definition or declaration static ssize_t rpc_spi_mem_dirmap_write(struct spi_mem_dirmap_desc *desc, ^~~~~~~~~~~~~~~~~~~ In file included from drivers//spi/spi-renesas-rpc.c:18:0: drivers//spi/spi-renesas-rpc.c: In function 'rpc_spi_mem_dirmap_write': drivers//spi/spi-renesas-rpc.c:400:51: error: dereferencing pointer to incomplete type 'struct spi_mem_dirmap_desc' struct rpc_spi *rpc = spi_master_get_devdata(desc->mem->spi->master); ^ include/linux/spi/spi.h:1333:66: note: in definition of macro 'spi_master_get_devdata' #define spi_master_get_devdata(_ctlr) spi_controller_get_devdata(_ctlr) ^~~~~ drivers//spi/spi-renesas-rpc.c: At top level: drivers//spi/spi-renesas-rpc.c:443:45: warning: 'struct spi_mem_dirmap_desc' declared inside parameter list will not be visible outside of this definition or declaration static int rpc_spi_mem_dirmap_create(struct spi_mem_dirmap_desc *desc) ^~~~~~~~~~~~~~~~~~~ In file included from drivers//spi/spi-renesas-rpc.c:18:0: drivers//spi/spi-renesas-rpc.c: In function 'rpc_spi_mem_dirmap_create': drivers//spi/spi-renesas-rpc.c:445:51: error: dereferencing pointer to incomplete type 'struct spi_mem_dirmap_desc' struct rpc_spi *rpc = spi_master_get_devdata(desc->mem->spi->master); ^ include/linux/spi/spi.h:1333:66: note: in definition of macro 'spi_master_get_devdata' #define spi_master_get_devdata(_ctlr) spi_controller_get_devdata(_ctlr) ^~~~~ drivers//spi/spi-renesas-rpc.c: At top level: drivers//spi/spi-renesas-rpc.c:484:3: error: 'const struct spi_controller_mem_ops' has no member named 'dirmap_create' .dirmap_create = rpc_spi_mem_dirmap_create, ^~~~~~~~~~~~~ drivers//spi/spi-renesas-rpc.c:484:19: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] .dirmap_create = rpc_spi_mem_dirmap_create, ^~~~~~~~~~~~~~~~~~~~~~~~~ drivers//spi/spi-renesas-rpc.c:484:19: note: (near initialization for 'rpc_spi_mem_ops.get_name') drivers//spi/spi-renesas-rpc.c:485:3: error: 'const struct spi_controller_mem_ops' has no member named 'dirmap_read' .dirmap_read = rpc_spi_mem_dirmap_read, ^~~~~~~~~~~ >> drivers//spi/spi-renesas-rpc.c:485:17: warning: excess elements in struct initializer .dirmap_read = rpc_spi_mem_dirmap_read, ^~~~~~~~~~~~~~~~~~~~~~~ drivers//spi/spi-renesas-rpc.c:485:17: note: (near initialization for 'rpc_spi_mem_ops') drivers//spi/spi-renesas-rpc.c:486:3: error: 'const struct spi_controller_mem_ops' has no member named 'dirmap_write' .dirmap_write = rpc_spi_mem_dirmap_write, ^~~~~~~~~~~~ drivers//spi/spi-renesas-rpc.c:486:18: warning: excess elements in struct initializer .dirmap_write = rpc_spi_mem_dirmap_write, ^~~~~~~~~~~~~~~~~~~~~~~~ drivers//spi/spi-renesas-rpc.c:486:18: note: (near initialization for 'rpc_spi_mem_ops') cc1: some warnings being treated as errors vim +485 drivers//spi/spi-renesas-rpc.c 480 481 static const struct spi_controller_mem_ops rpc_spi_mem_ops = { 482 .supports_op = rpc_spi_mem_supports_op, 483 .exec_op = rpc_spi_mem_exec_op, > 484 .dirmap_create = rpc_spi_mem_dirmap_create, > 485 .dirmap_read = rpc_spi_mem_dirmap_read, 486 .dirmap_write = rpc_spi_mem_dirmap_write, 487 }; 488 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation