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

From: kernel test robot
Date: Sat Jul 02 2022 - 11:42:10 EST


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

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