All of lore.kernel.org
 help / color / mirror / Atom feed
* [srini-nvmem:for-next 12/13] drivers/nvmem/jz4780-efuse.c:76:38: sparse: sparse: incompatible types in comparison expression (different type sizes):
@ 2020-03-06  8:40 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-03-06  8:40 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 2693 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/srini/nvmem.git for-next
head:   b5051c8fd339e1d896d70d202e9819056addfaa4
commit: 50a09dfd394abacd1dc03d1ca50e9a15ce358ed2 [12/13] nvmem: add driver for JZ4780 efuse
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-174-g094d5a94-dirty
        git checkout 50a09dfd394abacd1dc03d1ca50e9a15ce358ed2
        make ARCH=x86_64 allmodconfig
        make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)

>> drivers/nvmem/jz4780-efuse.c:76:38: sparse: sparse: incompatible types in comparison expression (different type sizes):
>> drivers/nvmem/jz4780-efuse.c:76:38: sparse:    unsigned long *
>> drivers/nvmem/jz4780-efuse.c:76:38: sparse:    unsigned int *

vim +76 drivers/nvmem/jz4780-efuse.c

    67	
    68	/* main entry point */
    69	static int jz4780_efuse_read(void *context, unsigned int offset,
    70				     void *val, size_t bytes)
    71	{
    72		struct jz4780_efuse *efuse = context;
    73	
    74		while (bytes > 0) {
    75			unsigned int start = offset & ~(JZ_EFU_READ_SIZE - 1);
  > 76			unsigned int chunk = min(bytes, (start + JZ_EFU_READ_SIZE)
    77						 - offset);
    78			char buf[JZ_EFU_READ_SIZE];
    79			unsigned int tmp;
    80			u32 ctrl;
    81			int ret;
    82	
    83			ctrl = (start << EFUCTRL_ADDR_SHIFT)
    84				| ((JZ_EFU_READ_SIZE - 1) << EFUCTRL_LEN_SHIFT)
    85				| EFUCTRL_RD_EN;
    86	
    87			regmap_update_bits(efuse->map, JZ_EFUCTRL,
    88					   (EFUCTRL_ADDR_MASK << EFUCTRL_ADDR_SHIFT) |
    89					   (EFUCTRL_LEN_MASK << EFUCTRL_LEN_SHIFT) |
    90					   EFUCTRL_PG_EN | EFUCTRL_WR_EN |
    91					   EFUCTRL_RD_EN,
    92					   ctrl);
    93	
    94			ret = regmap_read_poll_timeout(efuse->map, JZ_EFUSTATE,
    95						       tmp, tmp & EFUSTATE_RD_DONE,
    96						       1 * MSEC_PER_SEC,
    97						       50 * MSEC_PER_SEC);
    98			if (ret < 0) {
    99				dev_err(efuse->dev, "Time out while reading efuse data");
   100				return ret;
   101			}
   102	
   103			ret = regmap_bulk_read(efuse->map, JZ_EFUDATA(0),
   104					       buf, JZ_EFU_READ_SIZE / sizeof(u32));
   105			if (ret < 0)
   106				return ret;
   107	
   108			memcpy(val, &buf[offset - start], chunk);
   109	
   110			val += chunk;
   111			offset += chunk;
   112			bytes -= chunk;
   113		}
   114	
   115		return 0;
   116	}
   117	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-03-06  8:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-06  8:40 [srini-nvmem:for-next 12/13] drivers/nvmem/jz4780-efuse.c:76:38: sparse: sparse: incompatible types in comparison expression (different type sizes): kbuild test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.