drivers/tty/serial/8250/8250_fintek.c:104:9: sparse: sparse: cast removes address space '__iomem' of expression

From: kernel test robot
Date: Sat Jun 27 2020 - 21:04:56 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 42afe7d1c6ef77212250af3459e549d1a944cc8a
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 9 days ago
config: riscv-randconfig-s031-20200628 (attached as .config)
compiler: riscv32-linux-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
make W=1 C=1 ARCH=riscv 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/tty/serial/8250/8250_fintek.c:104:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/tty/serial/8250/8250_fintek.c:104:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/tty/serial/8250/8250_fintek.c:104:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/8250/8250_fintek.c:104:9: sparse: got void *
drivers/tty/serial/8250/8250_fintek.c:105:16: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/tty/serial/8250/8250_fintek.c:105:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/tty/serial/8250/8250_fintek.c:105:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/tty/serial/8250/8250_fintek.c:105:16: sparse: got void *
drivers/tty/serial/8250/8250_fintek.c:110:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/8250/8250_fintek.c:110:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/tty/serial/8250/8250_fintek.c:110:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/8250/8250_fintek.c:110:9: sparse: got void *
drivers/tty/serial/8250/8250_fintek.c:111:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/8250/8250_fintek.c:111:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/tty/serial/8250/8250_fintek.c:111:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/8250/8250_fintek.c:111:9: sparse: got void *
drivers/tty/serial/8250/8250_fintek.c:129:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/8250/8250_fintek.c:129:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/tty/serial/8250/8250_fintek.c:129:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/8250/8250_fintek.c:129:9: sparse: got void *
drivers/tty/serial/8250/8250_fintek.c:131:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/8250/8250_fintek.c:131:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/tty/serial/8250/8250_fintek.c:131:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/8250/8250_fintek.c:131:9: sparse: got void *
drivers/tty/serial/8250/8250_fintek.c:132:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/8250/8250_fintek.c:132:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/tty/serial/8250/8250_fintek.c:132:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/8250/8250_fintek.c:132:9: sparse: got void *
drivers/tty/serial/8250/8250_fintek.c:139:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/8250/8250_fintek.c:139:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/tty/serial/8250/8250_fintek.c:139:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/8250/8250_fintek.c:139:9: sparse: got void *
--
>> drivers/net/can/cc770/cc770_isa.c:125:16: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/can/cc770/cc770_isa.c:125:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/can/cc770/cc770_isa.c:125:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/can/cc770/cc770_isa.c:125:16: sparse: got void *
drivers/net/can/cc770/cc770_isa.c:131:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/can/cc770/cc770_isa.c:131:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/can/cc770/cc770_isa.c:131:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/can/cc770/cc770_isa.c:131:9: sparse: got void *
drivers/net/can/cc770/cc770_isa.c:142:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/can/cc770/cc770_isa.c:142:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/can/cc770/cc770_isa.c:142:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/can/cc770/cc770_isa.c:142:9: sparse: got void *
drivers/net/can/cc770/cc770_isa.c:143:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/can/cc770/cc770_isa.c:143:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/can/cc770/cc770_isa.c:143:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/can/cc770/cc770_isa.c:143:15: sparse: got void *
drivers/net/can/cc770/cc770_isa.c:156:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/can/cc770/cc770_isa.c:156:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/can/cc770/cc770_isa.c:156:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/can/cc770/cc770_isa.c:156:9: sparse: got void *
drivers/net/can/cc770/cc770_isa.c:157:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/can/cc770/cc770_isa.c:157:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/can/cc770/cc770_isa.c:157:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/can/cc770/cc770_isa.c:157:9: sparse: got void *

vim +/__iomem +104 drivers/tty/serial/8250/8250_fintek.c

92a5f11a1a3357 Ricardo Ribalda 2015-06-16 101
f1232ac229cc07 Ji-Ze Hong (Peter Hong 2016-10-04 102) static u8 sio_read_reg(struct fintek_8250 *pdata, u8 reg)
f1232ac229cc07 Ji-Ze Hong (Peter Hong 2016-10-04 103) {
f1232ac229cc07 Ji-Ze Hong (Peter Hong 2016-10-04 @104) outb(reg, pdata->base_port + ADDR_PORT);
f1232ac229cc07 Ji-Ze Hong (Peter Hong 2016-10-04 @105) return inb(pdata->base_port + DATA_PORT);
f1232ac229cc07 Ji-Ze Hong (Peter Hong 2016-10-04 106) }
f1232ac229cc07 Ji-Ze Hong (Peter Hong 2016-10-04 107)

:::::: The code at line 104 was first introduced by commit
:::::: f1232ac229cc078206a72ca365c3526e37ea1ae5 serial: 8250_fintek: Refactoring read/write method

:::::: TO: Ji-Ze Hong (Peter Hong) <hpeter@xxxxxxxxx>
:::::: CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip