[PATCH v1 2/2] i2c: Introduce i2c_str_read_write() and make use of it

kernel test robot lkp at intel.com
Sat Jul 2 08:41:33 PDT 2022


Hi Andy,

I love your patch! Yet something to improve:

[auto build test ERROR on wsa/i2c/for-next]
[also build test ERROR on linus/master v5.19-rc4 next-20220701]
[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/intel-lab-lkp/linux/commits/Andy-Shevchenko/lib-string_helpers-Add-str_read_write-helper/20220702-215944
base:   https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-next
config: mips-buildonly-randconfig-r002-20220702 (https://download.01.org/0day-ci/archive/20220702/202207022332.6xTWZbw8-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project bcd153485ebf07fe79e2b843ed5f1cb74997df1b)
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
        # install mips cross compiling tool for clang build
        # apt-get install binutils-mipsel-linux-gnu
        # https://github.com/intel-lab-lkp/linux/commit/c9ef15ef6b2b2b51d33d68a8b92beb05771cc8c2
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Andy-Shevchenko/lib-string_helpers-Add-str_read_write-helper/20220702-215944
        git checkout c9ef15ef6b2b2b51d33d68a8b92beb05771cc8c2
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash drivers/i2c/busses/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp at intel.com>

All error/warnings (new ones prefixed by >>):

>> drivers/i2c/busses/i2c-exynos5.c:747:4: error: unterminated function-like macro invocation
                           dev_warn(i2c->dev, "%s timeout\n", i2c_str_read_write(msgs);
                           ^
   include/linux/dev_printk.h:145:9: note: macro 'dev_warn' defined here
   #define dev_warn(dev, fmt, ...) \
           ^
>> drivers/i2c/busses/i2c-exynos5.c:960:26: error: expected expression
   MODULE_LICENSE("GPL v2");
                            ^
>> drivers/i2c/busses/i2c-exynos5.c:960:26: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
   drivers/i2c/busses/i2c-exynos5.c:746:3: note: previous statement is here
                   if (ret == -ETIMEDOUT)
                   ^
>> drivers/i2c/busses/i2c-exynos5.c:960:26: error: expected '}'
   MODULE_LICENSE("GPL v2");
                            ^
   drivers/i2c/busses/i2c-exynos5.c:744:15: note: to match this '{'
           if (ret < 0) {
                        ^
>> drivers/i2c/busses/i2c-exynos5.c:960:26: error: expected '}'
   MODULE_LICENSE("GPL v2");
                            ^
   drivers/i2c/busses/i2c-exynos5.c:718:1: note: to match this '{'
   {
   ^
   1 warning and 4 errors generated.


vim +747 drivers/i2c/busses/i2c-exynos5.c

   715	
   716	static int exynos5_i2c_xfer_msg(struct exynos5_i2c *i2c,
   717				      struct i2c_msg *msgs, int stop)
   718	{
   719		unsigned long timeout;
   720		int ret;
   721	
   722		i2c->msg = msgs;
   723		i2c->msg_ptr = 0;
   724		i2c->trans_done = 0;
   725	
   726		reinit_completion(&i2c->msg_complete);
   727	
   728		exynos5_i2c_message_start(i2c, stop);
   729	
   730		timeout = wait_for_completion_timeout(&i2c->msg_complete,
   731						      EXYNOS5_I2C_TIMEOUT);
   732		if (timeout == 0)
   733			ret = -ETIMEDOUT;
   734		else
   735			ret = i2c->state;
   736	
   737		/*
   738		 * If this is the last message to be transfered (stop == 1)
   739		 * Then check if the bus can be brought back to idle.
   740		 */
   741		if (ret == 0 && stop)
   742			ret = exynos5_i2c_wait_bus_idle(i2c);
   743	
   744		if (ret < 0) {
   745			exynos5_i2c_reset(i2c);
   746			if (ret == -ETIMEDOUT)
 > 747				dev_warn(i2c->dev, "%s timeout\n", i2c_str_read_write(msgs);
   748		}
   749	
   750		/* Return the state as in interrupt routine */
   751		return ret;
   752	}
   753	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp



More information about the linux-arm-kernel mailing list