Re: [PATCH 4/4] spi: mxic: Add support for Octal 8D-8D-8D mode

From: kbuild test robot
Date: Sat Nov 16 2019 - 02:20:55 EST


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 <lkp@xxxxxxxxx>

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@xxxxxxxxxxxx Intel Corporation

Attachment: .config.gz
Description: application/gzip