drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32

From: kernel test robot
Date: Fri Jun 19 2020 - 15:57:04 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5e857ce6eae7ca21b2055cca4885545e29228fe2
commit: 80591e61a0f7e88deaada69844e4a31280c4a38f kbuild: tell sparse about the $ARCH
date: 7 months ago
config: alpha-randconfig-s031-20200619 (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-rc1-18-g27caae40-dirty
git checkout 80591e61a0f7e88deaada69844e4a31280c4a38f
# save the attached .config to linux build tree
make W=1 C=1 ARCH=alpha CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

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/net/ethernet/ethoc.c:313:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *vma @@ got void [noderef] <asn:2> *membase @@
drivers/net/ethernet/ethoc.c:313:13: sparse: expected void *vma
drivers/net/ethernet/ethoc.c:313:13: sparse: got void [noderef] <asn:2> *membase
drivers/net/ethernet/ethoc.c:450:67: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] <asn:2> * @@ got void *src @@
drivers/net/ethernet/ethoc.c:450:67: sparse: expected void const volatile [noderef] <asn:2> *
drivers/net/ethernet/ethoc.c:450:67: sparse: got void *src
drivers/net/ethernet/ethoc.c:908:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] <asn:2> * @@ got void *[assigned] dest @@
drivers/net/ethernet/ethoc.c:908:21: sparse: expected void volatile [noderef] <asn:2> *
drivers/net/ethernet/ethoc.c:908:21: sparse: got void *[assigned] dest
drivers/net/ethernet/ethoc.c:1108:31: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] <asn:2> *membase @@ got void * @@
drivers/net/ethernet/ethoc.c:1108:31: sparse: expected void [noderef] <asn:2> *membase
drivers/net/ethernet/ethoc.c:1108:31: sparse: got void *
drivers/net/ethernet/ethoc.c:244:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/ethoc.c:244:17: sparse: expected unsigned int [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/ethoc.c:244:17: sparse: expected unsigned int [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/ethoc.c:244:17: sparse: expected unsigned int [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/ethoc.c:244:17: sparse: expected unsigned int [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/ethoc.c:244:17: sparse: expected unsigned int [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/ethoc.c:244:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/ethoc.c:244:17: sparse: expected unsigned int [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/ethoc.c:244:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/ethoc.c:244:17: sparse: expected unsigned int [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/ethoc.c:244:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/ethoc.c:244:17: sparse: expected unsigned int [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/ethoc.c:244:17: sparse: expected unsigned int [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/ethoc.c:244:17: sparse: expected unsigned int [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/ethoc.c:244:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/ethoc.c:244:17: sparse: expected unsigned int [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/ethoc.c:244:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/ethoc.c:244:17: sparse: expected unsigned int [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/ethoc.c:244:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/ethoc.c:244:17: sparse: expected unsigned int [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/ethoc.c:244:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/ethoc.c:244:17: sparse: expected unsigned int [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/ethoc.c:244:17: sparse: expected unsigned int [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/ethoc.c:244:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/ethoc.c:244:17: sparse: expected unsigned int [usertype]
drivers/net/ethernet/ethoc.c:244:17: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/ethoc.c:236:24: sparse: sparse: too many warnings

vim +236 drivers/net/ethernet/ethoc.c

a1702857724fb3 drivers/net/ethoc.c Thierry Reding 2009-03-27 232
16dd18b0837dee drivers/net/ethoc.c Thomas Chou 2009-10-07 233 static inline u32 ethoc_read(struct ethoc *dev, loff_t offset)
a1702857724fb3 drivers/net/ethoc.c Thierry Reding 2009-03-27 234 {
06e60e5912c037 drivers/net/ethernet/ethoc.c Max Filippov 2015-09-22 235 if (dev->big_endian)
06e60e5912c037 drivers/net/ethernet/ethoc.c Max Filippov 2015-09-22 @236 return ioread32be(dev->iobase + offset);
06e60e5912c037 drivers/net/ethernet/ethoc.c Max Filippov 2015-09-22 237 else
a1702857724fb3 drivers/net/ethoc.c Thierry Reding 2009-03-27 238 return ioread32(dev->iobase + offset);
a1702857724fb3 drivers/net/ethoc.c Thierry Reding 2009-03-27 239 }
a1702857724fb3 drivers/net/ethoc.c Thierry Reding 2009-03-27 240
16dd18b0837dee drivers/net/ethoc.c Thomas Chou 2009-10-07 241 static inline void ethoc_write(struct ethoc *dev, loff_t offset, u32 data)
a1702857724fb3 drivers/net/ethoc.c Thierry Reding 2009-03-27 242 {
06e60e5912c037 drivers/net/ethernet/ethoc.c Max Filippov 2015-09-22 243 if (dev->big_endian)
06e60e5912c037 drivers/net/ethernet/ethoc.c Max Filippov 2015-09-22 @244 iowrite32be(data, dev->iobase + offset);
06e60e5912c037 drivers/net/ethernet/ethoc.c Max Filippov 2015-09-22 245 else
a1702857724fb3 drivers/net/ethoc.c Thierry Reding 2009-03-27 246 iowrite32(data, dev->iobase + offset);
a1702857724fb3 drivers/net/ethoc.c Thierry Reding 2009-03-27 247 }
a1702857724fb3 drivers/net/ethoc.c Thierry Reding 2009-03-27 248

:::::: The code at line 236 was first introduced by commit
:::::: 06e60e5912c0373b15143cc52e4a11fafeaafff3 net/ethoc: support big-endian register layout

:::::: TO: Max Filippov <jcmvbkbc@xxxxxxxxx>
:::::: CC: David S. Miller <davem@xxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip