drivers/tty/serial/8250/8250_dwlib.c:45:17: sparse: sparse: incorrect type in argument 1 (different base types)

From: kernel test robot
Date: Thu Jun 18 2020 - 08:28:45 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 1b5044021070efa3259f3e9548dc35d1eb6aa844
commit: 4d5675c3b10b7bfa56447c26c29930e35b6d41ee serial: 8250_dw: switch to use 8250_dwlib library
date: 10 months ago
config: alpha-randconfig-s032-20200618 (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-rc1-10-gc17b1b06-dirty
git checkout 4d5675c3b10b7bfa56447c26c29930e35b6d41ee
# 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/tty/serial/8250/8250_dwlib.c:45:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
>> drivers/tty/serial/8250/8250_dwlib.c:45:17: sparse: expected unsigned int [usertype]
drivers/tty/serial/8250/8250_dwlib.c:45:17: sparse: got restricted __be32 [usertype]
arch/alpha/include/uapi/asm/swab.h:29:14: sparse: sparse: undefined identifier '__builtin_alpha_inslh'
arch/alpha/include/uapi/asm/swab.h:30:14: sparse: sparse: undefined identifier '__builtin_alpha_inswl'
arch/alpha/include/uapi/asm/swab.h:29:14: sparse: sparse: not a function <noident>
arch/alpha/include/uapi/asm/swab.h:30:14: sparse: sparse: not a function <noident>
arch/alpha/include/uapi/asm/swab.h:29:14: sparse: sparse: not a function <noident>
arch/alpha/include/uapi/asm/swab.h:30:14: sparse: sparse: not a function <noident>
arch/alpha/include/asm/bitops.h:380:13: sparse: sparse: undefined identifier '__builtin_alpha_cmpbge'
arch/alpha/include/asm/bitops.h:382:13: sparse: sparse: undefined identifier '__builtin_alpha_extbl'
arch/alpha/include/uapi/asm/swab.h:29:14: sparse: sparse: not a function <noident>
arch/alpha/include/uapi/asm/swab.h:30:14: sparse: sparse: not a function <noident>

vim +45 drivers/tty/serial/8250/8250_dwlib.c

136e0ab99b2237 Andy Shevchenko 2019-08-06 41
136e0ab99b2237 Andy Shevchenko 2019-08-06 42 static inline void dw8250_writel_ext(struct uart_port *p, int offset, u32 reg)
136e0ab99b2237 Andy Shevchenko 2019-08-06 43 {
136e0ab99b2237 Andy Shevchenko 2019-08-06 44 if (p->iotype == UPIO_MEM32BE)
136e0ab99b2237 Andy Shevchenko 2019-08-06 @45 iowrite32be(reg, p->membase + offset);
136e0ab99b2237 Andy Shevchenko 2019-08-06 46 else
136e0ab99b2237 Andy Shevchenko 2019-08-06 47 writel(reg, p->membase + offset);
136e0ab99b2237 Andy Shevchenko 2019-08-06 48 }
136e0ab99b2237 Andy Shevchenko 2019-08-06 49

:::::: The code at line 45 was first introduced by commit
:::::: 136e0ab99b22378e3ff7d54f799a3a329316e869 serial: 8250_dw: split Synopsys DesignWare 8250 common functions

:::::: TO: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
:::::: 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