drivers/memstick/host/r592.c:83:9: sparse: sparse: incorrect type in assignment (different base types)

From: kernel test robot
Date: Tue Jun 22 2021 - 03:01:05 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a96bfed64c8986d6404e553f18203cae1f5ac7e6
commit: d4aa8affa1e9e51c237a1ec47a97e96dce76c98c m68knommu: fix use of cpu_to_le() on IO access
date: 11 months ago
config: m68k-randconfig-s031-20210622 (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
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d4aa8affa1e9e51c237a1ec47a97e96dce76c98c
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout d4aa8affa1e9e51c237a1ec47a97e96dce76c98c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=m68k

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)
drivers/memstick/host/r592.c:47:12: sparse: sparse: symbol 'memstick_debug_get_tpc_name' was not declared. Should it be static?
>> drivers/memstick/host/r592.c:83:9: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int volatile [usertype] @@ got restricted __be32 [usertype] @@
drivers/memstick/host/r592.c:83:9: sparse: expected unsigned int volatile [usertype]
drivers/memstick/host/r592.c:83:9: sparse: got restricted __be32 [usertype]
>> drivers/memstick/host/r592.c:83:9: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int volatile [usertype] @@ got restricted __be32 [usertype] @@
drivers/memstick/host/r592.c:83:9: sparse: expected unsigned int volatile [usertype]
drivers/memstick/host/r592.c:83:9: sparse: got restricted __be32 [usertype]
>> drivers/memstick/host/r592.c:83:9: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int volatile [usertype] @@ got restricted __be32 [usertype] @@
drivers/memstick/host/r592.c:83:9: sparse: expected unsigned int volatile [usertype]
drivers/memstick/host/r592.c:83:9: sparse: got restricted __be32 [usertype]
drivers/memstick/host/r592.c:75:16: sparse: sparse: cast to restricted __be32
drivers/memstick/host/r592.c:75:16: sparse: sparse: cast to restricted __be32

vim +83 drivers/memstick/host/r592.c

9263412501022f Maxim Levitsky 2011-03-25 42
9263412501022f Maxim Levitsky 2011-03-25 43 /**
9263412501022f Maxim Levitsky 2011-03-25 44 * memstick_debug_get_tpc_name - debug helper that returns string for
9263412501022f Maxim Levitsky 2011-03-25 45 * a TPC number
9263412501022f Maxim Levitsky 2011-03-25 46 */
9263412501022f Maxim Levitsky 2011-03-25 @47 const char *memstick_debug_get_tpc_name(int tpc)
9263412501022f Maxim Levitsky 2011-03-25 48 {
9263412501022f Maxim Levitsky 2011-03-25 49 return tpc_names[tpc-1];
9263412501022f Maxim Levitsky 2011-03-25 50 }
9263412501022f Maxim Levitsky 2011-03-25 51 EXPORT_SYMBOL(memstick_debug_get_tpc_name);
9263412501022f Maxim Levitsky 2011-03-25 52
9263412501022f Maxim Levitsky 2011-03-25 53
9263412501022f Maxim Levitsky 2011-03-25 54 /* Read a register*/
9263412501022f Maxim Levitsky 2011-03-25 55 static inline u32 r592_read_reg(struct r592_device *dev, int address)
9263412501022f Maxim Levitsky 2011-03-25 56 {
9263412501022f Maxim Levitsky 2011-03-25 57 u32 value = readl(dev->mmio + address);
9263412501022f Maxim Levitsky 2011-03-25 58 dbg_reg("reg #%02d == 0x%08x", address, value);
9263412501022f Maxim Levitsky 2011-03-25 59 return value;
9263412501022f Maxim Levitsky 2011-03-25 60 }
9263412501022f Maxim Levitsky 2011-03-25 61
9263412501022f Maxim Levitsky 2011-03-25 62 /* Write a register */
9263412501022f Maxim Levitsky 2011-03-25 63 static inline void r592_write_reg(struct r592_device *dev,
9263412501022f Maxim Levitsky 2011-03-25 64 int address, u32 value)
9263412501022f Maxim Levitsky 2011-03-25 65 {
9263412501022f Maxim Levitsky 2011-03-25 66 dbg_reg("reg #%02d <- 0x%08x", address, value);
9263412501022f Maxim Levitsky 2011-03-25 67 writel(value, dev->mmio + address);
9263412501022f Maxim Levitsky 2011-03-25 68 }
9263412501022f Maxim Levitsky 2011-03-25 69
9263412501022f Maxim Levitsky 2011-03-25 70 /* Reads a big endian DWORD register */
9263412501022f Maxim Levitsky 2011-03-25 71 static inline u32 r592_read_reg_raw_be(struct r592_device *dev, int address)
9263412501022f Maxim Levitsky 2011-03-25 72 {
9263412501022f Maxim Levitsky 2011-03-25 73 u32 value = __raw_readl(dev->mmio + address);
9263412501022f Maxim Levitsky 2011-03-25 74 dbg_reg("reg #%02d == 0x%08x", address, value);
9263412501022f Maxim Levitsky 2011-03-25 75 return be32_to_cpu(value);
9263412501022f Maxim Levitsky 2011-03-25 76 }
9263412501022f Maxim Levitsky 2011-03-25 77
9263412501022f Maxim Levitsky 2011-03-25 78 /* Writes a big endian DWORD register */
9263412501022f Maxim Levitsky 2011-03-25 79 static inline void r592_write_reg_raw_be(struct r592_device *dev,
9263412501022f Maxim Levitsky 2011-03-25 80 int address, u32 value)
9263412501022f Maxim Levitsky 2011-03-25 81 {
9263412501022f Maxim Levitsky 2011-03-25 82 dbg_reg("reg #%02d <- 0x%08x", address, value);
9263412501022f Maxim Levitsky 2011-03-25 @83 __raw_writel(cpu_to_be32(value), dev->mmio + address);
9263412501022f Maxim Levitsky 2011-03-25 84 }
9263412501022f Maxim Levitsky 2011-03-25 85

:::::: The code at line 83 was first introduced by commit
:::::: 9263412501022fecef844907129ee2513b5a89de memstick: add driver for Ricoh R5C592 card reader

:::::: TO: Maxim Levitsky <maximlevitsky@xxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip