Hi Sebastian,

I love your patch! Perhaps something to improve:

[auto build test WARNING on shawnguo/for-next]
[also build test WARNING on v4.16-rc6 next-20180322]
[cannot apply to char-misc/char-misc-testing]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Sebastian-Reichel/GE-Healthcare-PPD-firmware-upgrade-driver-for-ACHC/20180323-144836
base:   https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git 
for-next
reproduce:
        # apt-get install sparse
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

>> drivers/misc/ezport-firmware.c:296:33: sparse: incompatible types in 
>> comparison expression (different type sizes)
   drivers/misc/ezport-firmware.c:329:33: sparse: incompatible types in 
comparison expression (different type sizes)
   In file included from include/linux/delay.h:22:0,
                    from drivers/misc/ezport-firmware.c:12:
   drivers/misc/ezport-firmware.c: In function 'ezport_firmware_flash_data':
   include/linux/kernel.h:792:16: warning: comparison of distinct pointer types 
lacks a cast
     (void) (&min1 == &min2);   8-                ^
   include/linux/kernel.h:801:2: note: in expansion of macro '__min'
     __min(typeof(x), typeof(y),   11-  ^~~~~
   drivers/misc/ezport-firmware.c:296:19: note: in expansion of macro 'min'
      transfer_size = min((u32) EZPORT_TRANSFER_SIZE, size - address);
                      ^~~
   drivers/misc/ezport-firmware.c: In function 'ezport_firmware_verify_data':
   include/linux/kernel.h:792:16: warning: comparison of distinct pointer types 
lacks a cast
     (void) (&min1 == &min2);   18-                ^
   include/linux/kernel.h:801:2: note: in expansion of macro '__min'
     __min(typeof(x), typeof(y),   21-  ^~~~~
   drivers/misc/ezport-firmware.c:329:19: note: in expansion of macro 'min'
      transfer_size = min((u32) EZPORT_TRANSFER_SIZE, size - address);
                      ^~~

vim +296 drivers/misc/ezport-firmware.c

   259  
   260  static int ezport_firmware_flash_data(struct spi_device *spi,
   261                                        const u8 *data, size_t size)
   262  {
   263          int ret;
   264          u32 address = 0;
   265          u32 transfer_size;
   266  
   267          ret = ezport_get_status_register(spi);
   268          if (ret < 0)
   269                  return ret;
   270  
   271          if (ret & EZPORT_STATUS_FS) {
   272                  dev_dbg(&spi->dev, "bulk erase");
   273                  ret = ezport_bulk_erase(spi);
   274                  if (!ezport_ready(ret, false))
   275                          return ret;
   276          }
   277  
   278          ret = ezport_get_status_register(spi);
   279          if (!ezport_ready(ret, false)) {
   280                  dev_err(&spi->dev, "flash memory is not ready!");
   281                  return ret;
   282          }
   283  
   284          while (address < size) {
   285                  if (!(address & EZPORT_SECTOR_MASK)) {
   286                          dev_dbg(&spi->dev, "section erase: %x", 
address);
   287                          ret = ezport_section_erase(spi, address);
   288                          if (!ezport_ready(ret, false))
   289                                  return ret;
   290                  }
   291  
   292                  ret = ezport_write_enable(spi);
   293                  if (!ezport_ready(ret, true))
   294                          return ret;
   295  
 > 296                  transfer_size = min((u32) EZPORT_TRANSFER_SIZE, size - 
 > address);
   297  
   298                  dev_dbg(&spi->dev, "transfer: %x", address);
   299                  ret = ezport_flash_transfer(spi, address,
   300                                              data+address, 
transfer_size);
   301                  if (!ezport_ready(ret, false))
   302                          return ret;
   303  
   304                  address += transfer_size;
   305          }
   306  
   307          return 0;
   308  }
   309  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Reply via email to