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