Hi Mason, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on spi/for-next] [also build test WARNING on v5.4-rc7] [cannot apply to next-20191115] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Mason-Yang/mtd-spi-nor-Add-support-for-Octal-8D-8D-8D-mode/20191115-170233 base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next config: x86_64-randconfig-a003-20191115 (attached as .config) compiler: gcc-7 (Debian 7.4.0-14) 7.4.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All warnings (new ones prefixed by >>): In file included from include/linux/err.h:5:0, from include/linux/clk.h:12, from drivers//spi/spi-mxic.c:11: drivers//spi/spi-mxic.c: In function 'mxic_spi_mem_prep_op_cfg': drivers//spi/spi-mxic.c:302:21: warning: comparison of constant '256' with boolean expression is always false [-Wbool-compare] if (op->data.dtr == OP_DATA_DDR) ^ include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ >> drivers//spi/spi-mxic.c:302:4: note: in expansion of macro 'if' if (op->data.dtr == OP_DATA_DDR) ^~ drivers//spi/spi-mxic.c:302:21: warning: comparison of constant '256' with boolean expression is always false [-Wbool-compare] if (op->data.dtr == OP_DATA_DDR) ^ include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ >> drivers//spi/spi-mxic.c:302:4: note: in expansion of macro 'if' if (op->data.dtr == OP_DATA_DDR) ^~ drivers//spi/spi-mxic.c:302:21: warning: comparison of constant '256' with boolean expression is always false [-Wbool-compare] if (op->data.dtr == OP_DATA_DDR) ^ include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value' (cond) ? \ ^~~~ include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~~~~~~~~~~~ >> drivers//spi/spi-mxic.c:302:4: note: in expansion of macro 'if' if (op->data.dtr == OP_DATA_DDR) ^~ Cyclomatic Complexity 1 include/linux/err.h:PTR_ERR Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls Cyclomatic Complexity 1 include/linux/ktime.h:ktime_add_us Cyclomatic Complexity 1 arch/x86/include/asm/io.h:readl Cyclomatic Complexity 1 arch/x86/include/asm/io.h:writel Cyclomatic Complexity 1 include/linux/device.h:dev_get_drvdata Cyclomatic Complexity 1 include/linux/device.h:dev_set_drvdata Cyclomatic Complexity 1 include/linux/platform_device.h:platform_get_drvdata Cyclomatic Complexity 1 include/linux/platform_device.h:platform_set_drvdata Cyclomatic Complexity 1 include/linux/spi/spi.h:spi_controller_get_devdata Cyclomatic Complexity 1 drivers//spi/spi-mxic.c:mxic_spi_set_input_delay_dqs Cyclomatic Complexity 1 drivers//spi/spi-mxic.c:mxic_spi_hw_init Cyclomatic Complexity 1 drivers//spi/spi-mxic.c:mxic_spi_driver_init Cyclomatic Complexity 7 include/linux/ktime.h:ktime_compare Cyclomatic Complexity 4 drivers//spi/spi-mxic.c:mxic_spi_set_cs Cyclomatic Complexity 10 drivers//spi/spi-mxic.c:mxic_spi_set_hc_cfg Cyclomatic Complexity 16 drivers//spi/spi-mxic.c:mxic_spi_mem_prep_op_cfg Cyclomatic Complexity 7 include/linux/clk.h:clk_prepare_enable Cyclomatic Complexity 1 include/linux/clk.h:clk_disable_unprepare Cyclomatic Complexity 7 drivers//spi/spi-mxic.c:mxic_spi_clk_enable Cyclomatic Complexity 4 drivers//spi/spi-mxic.c:mxic_spi_runtime_resume Cyclomatic Complexity 1 drivers//spi/spi-mxic.c:mxic_spi_clk_disable Cyclomatic Complexity 1 drivers//spi/spi-mxic.c:mxic_spi_runtime_suspend Cyclomatic Complexity 1 include/linux/pm_runtime.h:pm_runtime_disable Cyclomatic Complexity 1 drivers//spi/spi-mxic.c:mxic_spi_remove Cyclomatic Complexity 10 drivers//spi/spi-mxic.c:mxic_spi_clk_setup Cyclomatic Complexity 10 drivers//spi/spi-mxic.c:mxic_spi_set_freq Cyclomatic Complexity 79 drivers//spi/spi-mxic.c:mxic_spi_data_xfer Cyclomatic Complexity 42 drivers//spi/spi-mxic.c:mxic_spi_transfer_one Cyclomatic Complexity 19 drivers//spi/spi-mxic.c:mxic_spi_mem_exec_op Cyclomatic Complexity 1 include/linux/err.h:IS_ERR Cyclomatic Complexity 29 drivers//spi/spi-mxic.c:mxic_spi_mem_supports_op Cyclomatic Complexity 1 include/linux/spi/spi.h:spi_alloc_master Cyclomatic Complexity 4 include/linux/spi/spi.h:spi_controller_put Cyclomatic Complexity 15 drivers//spi/spi-mxic.c:mxic_spi_probe Cyclomatic Complexity 1 drivers//spi/spi-mxic.c:mxic_spi_driver_exit vim +/if +302 drivers//spi/spi-mxic.c 282 283 static u32 mxic_spi_mem_prep_op_cfg(const struct spi_mem_op *op) 284 { 285 u32 cfg = OP_CMD_BYTES(op->cmd.nbytes) | 286 OP_CMD_BUSW(fls(op->cmd.buswidth) - 1) | 287 (op->cmd.dtr ? OP_CMD_DDR : 0); 288 289 if (op->addr.nbytes) 290 cfg |= OP_ADDR_BYTES(op->addr.nbytes) | 291 OP_ADDR_BUSW(fls(op->addr.buswidth) - 1) | 292 (op->addr.dtr ? OP_ADDR_DDR : 0); 293 294 if (op->dummy.nbytes) 295 cfg |= OP_DUMMY_CYC(op->dummy.nbytes); 296 297 if (op->data.nbytes) { 298 cfg |= OP_DATA_BUSW(fls(op->data.buswidth) - 1) | 299 (op->data.dtr ? OP_DATA_DDR : 0); 300 if (op->data.dir == SPI_MEM_DATA_IN) { 301 cfg |= OP_READ; > 302 if (op->data.dtr == OP_DATA_DDR) 303 cfg |= OP_DQS_EN; 304 } 305 } 306 307 return cfg; 308 } 309 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation