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

kbuild test robot lkp at intel.com
Fri Nov 15 23:20:22 PST 2019


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 at intel.com>

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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 39159 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20191116/408673c9/attachment-0001.gz>


More information about the linux-mtd mailing list