drivers/tty/synclinkmp.c:3642:29: sparse: sparse: incorrect type in argument 1 (different address spaces)

From: kernel test robot
Date: Wed Jul 29 2020 - 13:57:54 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 6ba1b005ffc388c2aeaddae20da29e4810dea298
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 6 weeks ago
config: microblaze-randconfig-s032-20200729 (attached as .config)
compiler: microblaze-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.2-97-gee4aea9a-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# 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__' ARCH=microblaze

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/synclinkmp.c:3562:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char *[usertype] memory_base @@ got void [noderef] __iomem * @@
drivers/tty/synclinkmp.c:3562:27: sparse: expected unsigned char *[usertype] memory_base
drivers/tty/synclinkmp.c:3562:27: sparse: got void [noderef] __iomem *
drivers/tty/synclinkmp.c:3571:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char *[usertype] lcr_base @@ got void [noderef] __iomem * @@
drivers/tty/synclinkmp.c:3571:24: sparse: expected unsigned char *[usertype] lcr_base
drivers/tty/synclinkmp.c:3571:24: sparse: got void [noderef] __iomem *
drivers/tty/synclinkmp.c:3580:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char *[usertype] sca_base @@ got void [noderef] __iomem * @@
drivers/tty/synclinkmp.c:3580:24: sparse: expected unsigned char *[usertype] sca_base
drivers/tty/synclinkmp.c:3580:24: sparse: got void [noderef] __iomem *
drivers/tty/synclinkmp.c:3589:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char *[usertype] statctrl_base @@ got void [noderef] __iomem * @@
drivers/tty/synclinkmp.c:3589:29: sparse: expected unsigned char *[usertype] statctrl_base
drivers/tty/synclinkmp.c:3589:29: sparse: got void [noderef] __iomem *
>> drivers/tty/synclinkmp.c:3642:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got unsigned char *[usertype] memory_base @@
>> drivers/tty/synclinkmp.c:3642:29: sparse: expected void [noderef] __iomem *addr
drivers/tty/synclinkmp.c:3642:29: sparse: got unsigned char *[usertype] memory_base
>> drivers/tty/synclinkmp.c:3647:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got unsigned char * @@
drivers/tty/synclinkmp.c:3647:40: sparse: expected void [noderef] __iomem *addr
drivers/tty/synclinkmp.c:3647:40: sparse: got unsigned char *
drivers/tty/synclinkmp.c:3652:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got unsigned char * @@
drivers/tty/synclinkmp.c:3652:45: sparse: expected void [noderef] __iomem *addr
drivers/tty/synclinkmp.c:3652:45: sparse: got unsigned char *
drivers/tty/synclinkmp.c:3657:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got unsigned char * @@
drivers/tty/synclinkmp.c:3657:40: sparse: expected void [noderef] __iomem *addr
drivers/tty/synclinkmp.c:3657:40: sparse: got unsigned char *
drivers/tty/synclinkmp.c:5383:15: sparse: sparse: memset with byte count of 262144
--
>> drivers/scsi/aacraid/nark.c:35:28: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void [noderef] __iomem *addr @@ got void volatile [noderef] __iomem *base @@
>> drivers/scsi/aacraid/nark.c:35:28: sparse: expected void [noderef] __iomem *addr
>> drivers/scsi/aacraid/nark.c:35:28: sparse: got void volatile [noderef] __iomem *base

vim +3642 drivers/tty/synclinkmp.c

^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3612
ce9f9f73af0338a drivers/char/synclinkmp.c Harvey Harrison 2008-04-28 3613 static void release_resources(SLMP_INFO *info)
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3614 {
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3615 if ( debug_level >= DEBUG_LEVEL_INFO )
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3616 printk( "%s(%d):%s release_resources() entry\n",
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3617 __FILE__,__LINE__,info->device_name );
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3618
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3619 if ( info->irq_requested ) {
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3620 free_irq(info->irq_level, info);
0fab6de09c71a97 drivers/char/synclinkmp.c Joe Perches 2008-04-28 3621 info->irq_requested = false;
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3622 }
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3623
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3624 if ( info->shared_mem_requested ) {
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3625 release_mem_region(info->phys_memory_base,SCA_MEM_SIZE);
0fab6de09c71a97 drivers/char/synclinkmp.c Joe Perches 2008-04-28 3626 info->shared_mem_requested = false;
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3627 }
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3628 if ( info->lcr_mem_requested ) {
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3629 release_mem_region(info->phys_lcr_base + info->lcr_offset,128);
0fab6de09c71a97 drivers/char/synclinkmp.c Joe Perches 2008-04-28 3630 info->lcr_mem_requested = false;
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3631 }
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3632 if ( info->sca_base_requested ) {
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3633 release_mem_region(info->phys_sca_base + info->sca_offset,SCA_BASE_SIZE);
0fab6de09c71a97 drivers/char/synclinkmp.c Joe Perches 2008-04-28 3634 info->sca_base_requested = false;
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3635 }
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3636 if ( info->sca_statctrl_requested ) {
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3637 release_mem_region(info->phys_statctrl_base + info->statctrl_offset,SCA_REG_SIZE);
0fab6de09c71a97 drivers/char/synclinkmp.c Joe Perches 2008-04-28 3638 info->sca_statctrl_requested = false;
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3639 }
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3640
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3641 if (info->memory_base){
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 @3642 iounmap(info->memory_base);
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3643 info->memory_base = NULL;
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3644 }
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3645
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3646 if (info->sca_base) {
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 @3647 iounmap(info->sca_base - info->sca_offset);
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3648 info->sca_base=NULL;
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3649 }
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3650
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3651 if (info->statctrl_base) {
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3652 iounmap(info->statctrl_base - info->statctrl_offset);
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3653 info->statctrl_base=NULL;
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3654 }
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3655
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3656 if (info->lcr_base){
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3657 iounmap(info->lcr_base - info->lcr_offset);
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3658 info->lcr_base = NULL;
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3659 }
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3660
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3661 if ( debug_level >= DEBUG_LEVEL_INFO )
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3662 printk( "%s(%d):%s release_resources() exit\n",
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3663 __FILE__,__LINE__,info->device_name );
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3664 }
^1da177e4c3f415 drivers/char/synclinkmp.c Linus Torvalds 2005-04-16 3665

:::::: The code at line 3642 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip