Re: [PATCH v4] i2c: Add i2c-pseudo driver for userspace I2C adapters.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

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@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux