Hi Matthew, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on wsa/i2c/for-next] [also build test WARNING on v5.7-rc6 next-20200519] [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/Matthew-Blecker/i2c-Add-i2c-pseudo-driver-for-userspace-I2C-adapters/20200521-083201 base: https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-next config: m68k-allmodconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot All warnings (new ones prefixed by >>, old ones prefixed by <<): drivers/i2c/i2c-pseudo.c:104: warning: "STR" redefined 104 | #define STR(num) STR_HELPER(num) | In file included from arch/m68k/include/asm/irqflags.h:8, from include/linux/irqflags.h:16, from arch/m68k/include/asm/atomic.h:6, from include/linux/atomic.h:7, from include/linux/mutex.h:18, from include/linux/kernfs.h:12, from include/linux/sysfs.h:16, from include/linux/kobject.h:20, from include/linux/cdev.h:5, from drivers/i2c/i2c-pseudo.c:10: arch/m68k/include/asm/entry.h:244: note: this is the location of the previous definition 244 | #define STR(X) STR1(X) | drivers/i2c/i2c-pseudo.c: In function 'vanprintf': >> drivers/i2c/i2c-pseudo.c:767:2: warning: function 'vanprintf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format] 767 | ret = vsnprintf(NULL, 0, fmt, ap); | ^~~ drivers/i2c/i2c-pseudo.c:782:2: warning: function 'vanprintf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format] 782 | ret = vsnprintf(buf, buf_size, fmt, args1); | ^~~ drivers/i2c/i2c-pseudo.c: In function 'i2cp_cmd_set_timeout_cmd_completer': >> drivers/i2c/i2c-pseudo.c:1838:27: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] 1838 | if (cmd_data->timeout_ms < I2CP_TIMEOUT_MS_MIN || | ^ drivers/i2c/i2c-pseudo.c: In function 'i2cp_init': drivers/i2c/i2c-pseudo.c:3130:17: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] 3130 | if (i2cp_limit < I2CP_ADAPTERS_MIN || i2cp_limit > I2CP_ADAPTERS_MAX) { | ^ vim +767 drivers/i2c/i2c-pseudo.c 756 757 /* vanprintf - See anprintf() documentation. */ 758 static ssize_t vanprintf(char **out, ssize_t max_size, gfp_t gfp, 759 const char *fmt, va_list ap) 760 { 761 int ret; 762 ssize_t buf_size; 763 char *buf = NULL; 764 va_list args1; 765 766 va_copy(args1, ap); > 767 ret = vsnprintf(NULL, 0, fmt, ap); 768 if (ret < 0) 769 goto fail_before_args1; 770 if (max_size >= 0 && ret > max_size) { 771 ret = -ERANGE; 772 goto fail_before_args1; 773 } 774 775 buf_size = ret + 1; 776 buf = kmalloc_track_caller(buf_size, gfp); 777 if (buf == NULL) { 778 ret = -ENOMEM; 779 goto fail_before_args1; 780 } 781 782 ret = vsnprintf(buf, buf_size, fmt, args1); 783 va_end(args1); 784 if (ret < 0) 785 goto fail_after_args1; 786 if (ret + 1 != buf_size) { 787 ret = -ENOTRECOVERABLE; 788 goto fail_after_args1; 789 } 790 791 *out = buf; 792 return ret; 793 794 fail_before_args1: 795 va_end(args1); 796 fail_after_args1: 797 kfree(buf); 798 if (ret >= 0) 799 ret = -ENOTRECOVERABLE; 800 return ret; 801 } 802 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org