All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org
Subject: drivers/watchdog/ar7_wdt.c:193:29: sparse: sparse: incorrect type in initializer (different address spaces)
Date: Fri, 24 Jul 2020 12:00:18 +0800	[thread overview]
Message-ID: <202007241211.yQLaEaXs%lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 79850 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   d15be546031cf65a0fc34879beca02fd90fe7ac7
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date:   5 weeks ago
config: mips-randconfig-s032-20200723 (attached as .config)
compiler: mipsel-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-93-g4c6cbe55-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=mips 

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


sparse warnings: (new ones prefixed by >>)

>> drivers/watchdog/ar7_wdt.c:193:29: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected char const [noderef] __user *__gu_ptr @@     got char const * @@
>> drivers/watchdog/ar7_wdt.c:193:29: sparse:     expected char const [noderef] __user *__gu_ptr
   drivers/watchdog/ar7_wdt.c:193:29: sparse:     got char const *
>> drivers/watchdog/ar7_wdt.c:216:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] __user *to @@     got struct watchdog_info * @@
>> drivers/watchdog/ar7_wdt.c:216:35: sparse:     expected void [noderef] __user *to
   drivers/watchdog/ar7_wdt.c:216:35: sparse:     got struct watchdog_info *
>> drivers/watchdog/ar7_wdt.c:222:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int [noderef] __user *__pu_addr @@     got int * @@
>> drivers/watchdog/ar7_wdt.c:222:21: sparse:     expected int [noderef] __user *__pu_addr
   drivers/watchdog/ar7_wdt.c:222:21: sparse:     got int *
>> drivers/watchdog/ar7_wdt.c:229:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int const [noderef] __user *__gu_ptr @@     got int * @@
>> drivers/watchdog/ar7_wdt.c:229:21: sparse:     expected int const [noderef] __user *__gu_ptr
   drivers/watchdog/ar7_wdt.c:229:21: sparse:     got int *
   drivers/watchdog/ar7_wdt.c:241:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int [noderef] __user *__pu_addr @@     got int * @@
   drivers/watchdog/ar7_wdt.c:241:21: sparse:     expected int [noderef] __user *__pu_addr
   drivers/watchdog/ar7_wdt.c:241:21: sparse:     got int *
   drivers/watchdog/ar7_wdt.c:251:27: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces)) @@     expected int ( *write )( ... ) @@     got int ( * )( ... ) @@
   drivers/watchdog/ar7_wdt.c:251:27: sparse:     expected int ( *write )( ... )
   drivers/watchdog/ar7_wdt.c:251:27: sparse:     got int ( * )( ... )
>> drivers/watchdog/ar7_wdt.c:271:17: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ar7_wdt *static [toplevel] ar7_wdt @@     got void [noderef] __iomem * @@
   drivers/watchdog/ar7_wdt.c:271:17: sparse:     expected struct ar7_wdt *static [toplevel] ar7_wdt
>> drivers/watchdog/ar7_wdt.c:271:17: sparse:     got void [noderef] __iomem *
   drivers/watchdog/ar7_wdt.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/seqlock.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
--
>> drivers/vlynq/vlynq.c:101:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
>> drivers/vlynq/vlynq.c:101:31: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:101:31: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:111:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:111:26: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:111:26: sparse:     got unsigned int *
>> drivers/vlynq/vlynq.c:112:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
>> drivers/vlynq/vlynq.c:112:29: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:112:29: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:118:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:118:26: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:118:26: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:119:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:119:29: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:119:29: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:133:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:133:45: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:133:45: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:135:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:135:45: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:135:45: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:146:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:146:45: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:146:45: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:148:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:148:45: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:148:45: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:159:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:159:45: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:159:45: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:178:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:178:45: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:178:45: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:185:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:185:32: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:185:32: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:189:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:189:28: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:189:28: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:195:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:195:32: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:195:32: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:199:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:199:28: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:199:28: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:208:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:208:28: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:208:28: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:209:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:209:28: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:209:28: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:258:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:258:26: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:258:26: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:258:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:258:48: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:258:48: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:259:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:259:26: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:259:26: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:259:49: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:259:49: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:259:49: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:265:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:265:26: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:265:26: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:266:38: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:266:38: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:266:38: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:267:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:267:25: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:267:25: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:271:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:271:26: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:271:26: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:272:38: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:272:38: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:272:38: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:273:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:273:25: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:273:25: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:274:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:274:25: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:274:25: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:290:59: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:290:59: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:290:59: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:389:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:389:35: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:389:35: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:393:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:393:37: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:393:37: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:394:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:394:35: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:394:35: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:398:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:398:37: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:398:37: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:431:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:431:35: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:431:35: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:435:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:435:37: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:435:37: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:463:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:463:27: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:463:27: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:465:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:465:29: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:465:29: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:467:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:467:27: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:467:27: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:469:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:469:29: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:469:29: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:497:52: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:497:52: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:497:52: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:520:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:520:43: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:520:43: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:521:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:521:31: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:521:31: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:538:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:538:31: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:538:31: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:541:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:541:43: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:541:43: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:593:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:593:31: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:593:31: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:595:66: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:595:66: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:595:66: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:596:64: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:596:64: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:596:64: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:610:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:610:31: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:610:31: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:612:67: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:612:67: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:612:67: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:613:65: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:613:65: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:613:65: sparse:     got unsigned int *
>> drivers/vlynq/vlynq.c:700:20: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct vlynq_regs *local @@     got void [noderef] __iomem * @@
   drivers/vlynq/vlynq.c:700:20: sparse:     expected struct vlynq_regs *local
>> drivers/vlynq/vlynq.c:700:20: sparse:     got void [noderef] __iomem *
   drivers/vlynq/vlynq.c:729:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:729:41: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:729:41: sparse:     got unsigned int *
>> drivers/vlynq/vlynq.c:738:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got struct vlynq_regs *local @@
>> drivers/vlynq/vlynq.c:738:20: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/vlynq/vlynq.c:738:20: sparse:     got struct vlynq_regs *local
   drivers/vlynq/vlynq.c:751:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got struct vlynq_regs *local @@
   drivers/vlynq/vlynq.c:751:20: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/vlynq/vlynq.c:751:20: sparse:     got struct vlynq_regs *local
   drivers/vlynq/vlynq.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: too many warnings
--
>> arch/mips/ar7/prom.c:151:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const volatile [noderef] __iomem *src @@     got void *psp_env_base @@
>> arch/mips/ar7/prom.c:151:31: sparse:     expected void const volatile [noderef] __iomem *src
   arch/mips/ar7/prom.c:151:31: sparse:     got void *psp_env_base
>> arch/mips/ar7/prom.c:243:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/ar7/prom.c:243:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/prom.c:243:23: sparse:     got void *
   arch/mips/ar7/prom.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
>> arch/mips/ar7/prom.c:248:24: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/ar7/prom.c:248:24: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/prom.c:248:24: sparse:     got void *
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
--
>> arch/mips/ar7/setup.c:17:28: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int [usertype] *softres_reg @@     got void [noderef] __iomem * @@
   arch/mips/ar7/setup.c:17:28: sparse:     expected unsigned int [usertype] *softres_reg
>> arch/mips/ar7/setup.c:17:28: sparse:     got void [noderef] __iomem *
>> arch/mips/ar7/setup.c:19:19: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] *softres_reg @@
>> arch/mips/ar7/setup.c:19:19: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/setup.c:19:19: sparse:     got unsigned int [usertype] *softres_reg
>> arch/mips/ar7/setup.c:30:27: sparse: sparse: cast removes address space '__iomem' of expression
>> arch/mips/ar7/setup.c:31:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int [usertype] *power_reg @@
>> arch/mips/ar7/setup.c:31:33: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/setup.c:31:33: sparse:     got unsigned int [usertype] *power_reg
>> arch/mips/ar7/setup.c:33:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] *power_reg @@
   arch/mips/ar7/setup.c:33:29: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/setup.c:33:29: sparse:     got unsigned int [usertype] *power_reg
   arch/mips/ar7/setup.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/seqlock.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/setup.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/setup.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/seqlock.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/setup.c: note: in included file:
   arch/mips/include/asm/mach-ar7/ar7.h:123:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:123:35: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:123:35: sparse:     got void *
   arch/mips/ar7/setup.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/seqlock.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/setup.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/setup.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/seqlock.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/setup.c: note: in included file:
   arch/mips/include/asm/mach-ar7/ar7.h:130:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:130:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:130:24: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/setup.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/seqlock.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
--
>> arch/mips/ar7/memory.c:40:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] ** @@
>> arch/mips/ar7/memory.c:40:31: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/memory.c:40:31: sparse:     got unsigned int [usertype] **
   arch/mips/ar7/memory.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/mmzone.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
--
>> arch/mips/ar7/irq.c:42:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
>> arch/mips/ar7/irq.c:42:16: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:42:16: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:48:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:48:16: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:48:16: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:54:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:54:16: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:54:16: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:59:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:59:51: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:59:51: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:64:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:64:51: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:64:51: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:69:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:69:51: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:69:51: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:92:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:92:28: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:92:28: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:93:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:93:22: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:93:22: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:94:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:94:28: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:94:28: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:95:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:95:28: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:95:28: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:96:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:96:22: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:96:22: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:97:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:97:28: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:97:28: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:102:27: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:102:27: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:102:27: sparse:     got unsigned int [usertype] *
>> arch/mips/ar7/irq.c:136:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
>> arch/mips/ar7/irq.c:136:21: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:136:21: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:143:19: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:143:19: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:143:19: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:144:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:144:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:144:24: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/irq.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
--
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void *reset_reg @@
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     got void *reset_reg
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void *reset_reg @@
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     got void *reset_reg
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
   arch/mips/include/asm/mach-ar7/ar7.h:158:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void *reset_reg @@
   arch/mips/include/asm/mach-ar7/ar7.h:158:22: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:158:22: sparse:     got void *reset_reg
   arch/mips/include/asm/mach-ar7/ar7.h:158:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void *reset_reg @@
   arch/mips/include/asm/mach-ar7/ar7.h:158:47: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:158:47: sparse:     got void *reset_reg
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void *reset_reg @@
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     got void *reset_reg
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void *reset_reg @@
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     got void *reset_reg
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void *reset_reg @@
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     got void *reset_reg
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void *reset_reg @@
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     got void *reset_reg
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void *reset_reg @@
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     got void *reset_reg
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void *reset_reg @@
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     got void *reset_reg
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void *reset_reg @@
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     got void *reset_reg
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void *reset_reg @@
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     got void *reset_reg
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
--
>> arch/mips/ar7/clock.c:147:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/ar7/clock.c:147:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:147:24: sparse:     got void *
   arch/mips/ar7/clock.c:148:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/ar7/clock.c:148:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:148:24: sparse:     got void *
>> arch/mips/ar7/clock.c:164:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:164:27: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:164:27: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:165:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:165:26: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:165:26: sparse:     got unsigned int *
>> arch/mips/ar7/clock.c:228:65: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
>> arch/mips/ar7/clock.c:228:65: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:228:65: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:230:20: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:230:20: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:230:20: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:231:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:231:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:231:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:233:64: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:233:64: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:233:64: sparse:     got unsigned int *
>> arch/mips/ar7/clock.c:239:24: sparse: sparse: cast removes address space '__iomem' of expression
>> arch/mips/ar7/clock.c:241:41: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct tnetd7300_clocks *clocks @@     got void [noderef] __iomem * @@
   arch/mips/ar7/clock.c:241:41: sparse:     expected struct tnetd7300_clocks *clocks
>> arch/mips/ar7/clock.c:241:41: sparse:     got void [noderef] __iomem *
>> arch/mips/ar7/clock.c:257:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got struct tnetd7300_clocks *clocks @@
>> arch/mips/ar7/clock.c:257:17: sparse:     expected void const volatile [noderef] __iomem *addr
   arch/mips/ar7/clock.c:257:17: sparse:     got struct tnetd7300_clocks *clocks
>> arch/mips/ar7/clock.c:258:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned int [usertype] *bootcr @@
   arch/mips/ar7/clock.c:258:17: sparse:     expected void const volatile [noderef] __iomem *addr
   arch/mips/ar7/clock.c:258:17: sparse:     got unsigned int [usertype] *bootcr
   arch/mips/ar7/clock.c:269:20: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:269:20: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:269:20: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:270:62: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:270:62: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:270:62: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:271:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:271:34: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:271:34: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:273:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:273:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:273:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:276:63: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:276:63: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:276:63: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:278:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:278:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:278:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:278:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:278:43: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:278:43: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:279:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:279:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:279:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:279:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:279:41: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:279:41: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:281:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:281:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:281:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:284:64: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:284:64: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:284:64: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:286:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:286:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:286:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:286:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:286:43: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:286:43: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:287:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:287:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:287:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:287:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:287:41: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:287:41: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:289:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:289:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:289:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:292:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:292:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:292:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:292:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:292:42: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:292:42: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:323:24: sparse: sparse: cast removes address space '__iomem' of expression
>> arch/mips/ar7/clock.c:325:41: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct tnetd7200_clocks *clocks @@     got void [noderef] __iomem * @@
   arch/mips/ar7/clock.c:325:41: sparse:     expected struct tnetd7200_clocks *clocks
   arch/mips/ar7/clock.c:325:41: sparse:     got void [noderef] __iomem *
>> arch/mips/ar7/clock.c:400:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got struct tnetd7200_clocks *clocks @@
   arch/mips/ar7/clock.c:400:17: sparse:     expected void const volatile [noderef] __iomem *addr
   arch/mips/ar7/clock.c:400:17: sparse:     got struct tnetd7200_clocks *clocks
   arch/mips/ar7/clock.c:401:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned int [usertype] *bootcr @@
   arch/mips/ar7/clock.c:401:17: sparse:     expected void const volatile [noderef] __iomem *addr
   arch/mips/ar7/clock.c:401:17: sparse:     got unsigned int [usertype] *bootcr
   arch/mips/ar7/clock.c: note: in included file:
   arch/mips/include/asm/mach-ar7/ar7.h:130:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:130:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:130:24: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/clock.c: note: in included file (through include/linux/io.h):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/clock.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/clock.c: note: in included file (through include/linux/io.h):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32

vim +193 drivers/watchdog/ar7_wdt.c

c283cf2c09ca1b7 Matteo Croce        2007-09-20  178  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  179  static ssize_t ar7_wdt_write(struct file *file, const char *data,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  180  			     size_t len, loff_t *ppos)
c283cf2c09ca1b7 Matteo Croce        2007-09-20  181  {
c283cf2c09ca1b7 Matteo Croce        2007-09-20  182  	/* check for a magic close character */
c283cf2c09ca1b7 Matteo Croce        2007-09-20  183  	if (len) {
c283cf2c09ca1b7 Matteo Croce        2007-09-20  184  		size_t i;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  185  
670d59c0ae31a87 Alan Cox            2008-08-04  186  		spin_lock(&wdt_lock);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  187  		ar7_wdt_kick(1);
670d59c0ae31a87 Alan Cox            2008-08-04  188  		spin_unlock(&wdt_lock);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  189  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  190  		expect_close = 0;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  191  		for (i = 0; i < len; ++i) {
c283cf2c09ca1b7 Matteo Croce        2007-09-20  192  			char c;
c283cf2c09ca1b7 Matteo Croce        2007-09-20 @193  			if (get_user(c, data + i))
c283cf2c09ca1b7 Matteo Croce        2007-09-20  194  				return -EFAULT;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  195  			if (c == 'V')
c283cf2c09ca1b7 Matteo Croce        2007-09-20  196  				expect_close = 1;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  197  		}
c283cf2c09ca1b7 Matteo Croce        2007-09-20  198  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  199  	}
c283cf2c09ca1b7 Matteo Croce        2007-09-20  200  	return len;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  201  }
c283cf2c09ca1b7 Matteo Croce        2007-09-20  202  
670d59c0ae31a87 Alan Cox            2008-08-04  203  static long ar7_wdt_ioctl(struct file *file,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  204  					unsigned int cmd, unsigned long arg)
c283cf2c09ca1b7 Matteo Croce        2007-09-20  205  {
42747d712de56cf Wim Van Sebroeck    2009-12-26  206  	static const struct watchdog_info ident = {
c283cf2c09ca1b7 Matteo Croce        2007-09-20  207  		.identity = LONGNAME,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  208  		.firmware_version = 1,
e73a780272a46e8 Wim Van Sebroeck    2009-05-11  209  		.options = (WDIOF_SETTIMEOUT | WDIOF_KEEPALIVEPING |
e73a780272a46e8 Wim Van Sebroeck    2009-05-11  210  						WDIOF_MAGICCLOSE),
c283cf2c09ca1b7 Matteo Croce        2007-09-20  211  	};
c283cf2c09ca1b7 Matteo Croce        2007-09-20  212  	int new_margin;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  213  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  214  	switch (cmd) {
c283cf2c09ca1b7 Matteo Croce        2007-09-20  215  	case WDIOC_GETSUPPORT:
c283cf2c09ca1b7 Matteo Croce        2007-09-20 @216  		if (copy_to_user((struct watchdog_info *)arg, &ident,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  217  				sizeof(ident)))
c283cf2c09ca1b7 Matteo Croce        2007-09-20  218  			return -EFAULT;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  219  		return 0;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  220  	case WDIOC_GETSTATUS:
c283cf2c09ca1b7 Matteo Croce        2007-09-20  221  	case WDIOC_GETBOOTSTATUS:
c283cf2c09ca1b7 Matteo Croce        2007-09-20 @222  		if (put_user(0, (int *)arg))
c283cf2c09ca1b7 Matteo Croce        2007-09-20  223  			return -EFAULT;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  224  		return 0;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  225  	case WDIOC_KEEPALIVE:
c283cf2c09ca1b7 Matteo Croce        2007-09-20  226  		ar7_wdt_kick(1);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  227  		return 0;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  228  	case WDIOC_SETTIMEOUT:
c283cf2c09ca1b7 Matteo Croce        2007-09-20 @229  		if (get_user(new_margin, (int *)arg))
c283cf2c09ca1b7 Matteo Croce        2007-09-20  230  			return -EFAULT;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  231  		if (new_margin < 1)
c283cf2c09ca1b7 Matteo Croce        2007-09-20  232  			return -EINVAL;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  233  
670d59c0ae31a87 Alan Cox            2008-08-04  234  		spin_lock(&wdt_lock);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  235  		ar7_wdt_update_margin(new_margin);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  236  		ar7_wdt_kick(1);
670d59c0ae31a87 Alan Cox            2008-08-04  237  		spin_unlock(&wdt_lock);
d259f94f7265065 Gustavo A. R. Silva 2019-07-29  238  		/* Fall through */
c283cf2c09ca1b7 Matteo Croce        2007-09-20  239  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  240  	case WDIOC_GETTIMEOUT:
c283cf2c09ca1b7 Matteo Croce        2007-09-20  241  		if (put_user(margin, (int *)arg))
c283cf2c09ca1b7 Matteo Croce        2007-09-20  242  			return -EFAULT;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  243  		return 0;
0c06090c9472db0 Wim Van Sebroeck    2008-07-18  244  	default:
0c06090c9472db0 Wim Van Sebroeck    2008-07-18  245  		return -ENOTTY;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  246  	}
c283cf2c09ca1b7 Matteo Croce        2007-09-20  247  }
c283cf2c09ca1b7 Matteo Croce        2007-09-20  248  
b47a166ed0baaaa Jan Engelhardt      2008-01-22  249  static const struct file_operations ar7_wdt_fops = {
c283cf2c09ca1b7 Matteo Croce        2007-09-20  250  	.owner		= THIS_MODULE,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  251  	.write		= ar7_wdt_write,
670d59c0ae31a87 Alan Cox            2008-08-04  252  	.unlocked_ioctl	= ar7_wdt_ioctl,
b6dfb2477fb0bf4 Arnd Bergmann       2019-06-03  253  	.compat_ioctl	= compat_ptr_ioctl,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  254  	.open		= ar7_wdt_open,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  255  	.release	= ar7_wdt_release,
6038f373a3dc1f1 Arnd Bergmann       2010-08-15  256  	.llseek		= no_llseek,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  257  };
c283cf2c09ca1b7 Matteo Croce        2007-09-20  258  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  259  static struct miscdevice ar7_wdt_miscdev = {
c283cf2c09ca1b7 Matteo Croce        2007-09-20  260  	.minor		= WATCHDOG_MINOR,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  261  	.name		= "watchdog",
c283cf2c09ca1b7 Matteo Croce        2007-09-20  262  	.fops		= &ar7_wdt_fops,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  263  };
c283cf2c09ca1b7 Matteo Croce        2007-09-20  264  
2d991a164a61858 Bill Pemberton      2012-11-19  265  static int ar7_wdt_probe(struct platform_device *pdev)
c283cf2c09ca1b7 Matteo Croce        2007-09-20  266  {
c283cf2c09ca1b7 Matteo Croce        2007-09-20  267  	int rc;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  268  
64d4062a3813e48 Florian Fainelli    2009-07-21  269  	ar7_regs_wdt =
64d4062a3813e48 Florian Fainelli    2009-07-21  270  		platform_get_resource_byname(pdev, IORESOURCE_MEM, "regs");
4c271bb67c04253 Thierry Reding      2013-01-21 @271  	ar7_wdt = devm_ioremap_resource(&pdev->dev, ar7_regs_wdt);
4c271bb67c04253 Thierry Reding      2013-01-21  272  	if (IS_ERR(ar7_wdt))
4c271bb67c04253 Thierry Reding      2013-01-21  273  		return PTR_ERR(ar7_wdt);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  274  
780019ddf02f214 Florian Fainelli    2010-01-27  275  	vbus_clk = clk_get(NULL, "vbus");
780019ddf02f214 Florian Fainelli    2010-01-27  276  	if (IS_ERR(vbus_clk)) {
27c766aaacb265d Joe Perches         2012-02-15  277  		pr_err("could not get vbus clock\n");
ae21cc20a604b45 Julia Lawall        2012-04-15  278  		return PTR_ERR(vbus_clk);
780019ddf02f214 Florian Fainelli    2010-01-27  279  	}
780019ddf02f214 Florian Fainelli    2010-01-27  280  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  281  	ar7_wdt_disable_wdt();
c283cf2c09ca1b7 Matteo Croce        2007-09-20  282  	ar7_wdt_prescale(prescale_value);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  283  	ar7_wdt_update_margin(margin);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  284  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  285  	rc = misc_register(&ar7_wdt_miscdev);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  286  	if (rc) {
27c766aaacb265d Joe Perches         2012-02-15  287  		pr_err("unable to register misc device\n");
c283cf2c09ca1b7 Matteo Croce        2007-09-20  288  		goto out;
ae21cc20a604b45 Julia Lawall        2012-04-15  289  	}
ae21cc20a604b45 Julia Lawall        2012-04-15  290  	return 0;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  291  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  292  out:
ae21cc20a604b45 Julia Lawall        2012-04-15  293  	clk_put(vbus_clk);
ae21cc20a604b45 Julia Lawall        2012-04-15  294  	vbus_clk = NULL;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  295  	return rc;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  296  }
c283cf2c09ca1b7 Matteo Croce        2007-09-20  297  

:::::: The code at line 193 was first introduced by commit
:::::: c283cf2c09ca1b7f1e7677bde384a8f92b1b7584 [WATCHDOG] AR7: watchdog timer

:::::: TO: Matteo Croce <technoboy85@gmail.com>
:::::: CC: Wim Van Sebroeck <wim@iguana.be>

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 24961 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: drivers/watchdog/ar7_wdt.c:193:29: sparse: sparse: incorrect type in initializer (different address spaces)
Date: Fri, 24 Jul 2020 12:00:18 +0800	[thread overview]
Message-ID: <202007241211.yQLaEaXs%lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 80652 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   d15be546031cf65a0fc34879beca02fd90fe7ac7
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date:   5 weeks ago
config: mips-randconfig-s032-20200723 (attached as .config)
compiler: mipsel-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-93-g4c6cbe55-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=mips 

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


sparse warnings: (new ones prefixed by >>)

>> drivers/watchdog/ar7_wdt.c:193:29: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected char const [noderef] __user *__gu_ptr @@     got char const * @@
>> drivers/watchdog/ar7_wdt.c:193:29: sparse:     expected char const [noderef] __user *__gu_ptr
   drivers/watchdog/ar7_wdt.c:193:29: sparse:     got char const *
>> drivers/watchdog/ar7_wdt.c:216:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] __user *to @@     got struct watchdog_info * @@
>> drivers/watchdog/ar7_wdt.c:216:35: sparse:     expected void [noderef] __user *to
   drivers/watchdog/ar7_wdt.c:216:35: sparse:     got struct watchdog_info *
>> drivers/watchdog/ar7_wdt.c:222:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int [noderef] __user *__pu_addr @@     got int * @@
>> drivers/watchdog/ar7_wdt.c:222:21: sparse:     expected int [noderef] __user *__pu_addr
   drivers/watchdog/ar7_wdt.c:222:21: sparse:     got int *
>> drivers/watchdog/ar7_wdt.c:229:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int const [noderef] __user *__gu_ptr @@     got int * @@
>> drivers/watchdog/ar7_wdt.c:229:21: sparse:     expected int const [noderef] __user *__gu_ptr
   drivers/watchdog/ar7_wdt.c:229:21: sparse:     got int *
   drivers/watchdog/ar7_wdt.c:241:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int [noderef] __user *__pu_addr @@     got int * @@
   drivers/watchdog/ar7_wdt.c:241:21: sparse:     expected int [noderef] __user *__pu_addr
   drivers/watchdog/ar7_wdt.c:241:21: sparse:     got int *
   drivers/watchdog/ar7_wdt.c:251:27: sparse: sparse: incorrect type in initializer (incompatible argument 2 (different address spaces)) @@     expected int ( *write )( ... ) @@     got int ( * )( ... ) @@
   drivers/watchdog/ar7_wdt.c:251:27: sparse:     expected int ( *write )( ... )
   drivers/watchdog/ar7_wdt.c:251:27: sparse:     got int ( * )( ... )
>> drivers/watchdog/ar7_wdt.c:271:17: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ar7_wdt *static [toplevel] ar7_wdt @@     got void [noderef] __iomem * @@
   drivers/watchdog/ar7_wdt.c:271:17: sparse:     expected struct ar7_wdt *static [toplevel] ar7_wdt
>> drivers/watchdog/ar7_wdt.c:271:17: sparse:     got void [noderef] __iomem *
   drivers/watchdog/ar7_wdt.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/seqlock.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
--
>> drivers/vlynq/vlynq.c:101:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
>> drivers/vlynq/vlynq.c:101:31: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:101:31: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:111:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:111:26: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:111:26: sparse:     got unsigned int *
>> drivers/vlynq/vlynq.c:112:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
>> drivers/vlynq/vlynq.c:112:29: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:112:29: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:118:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:118:26: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:118:26: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:119:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:119:29: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:119:29: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:133:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:133:45: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:133:45: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:135:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:135:45: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:135:45: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:146:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:146:45: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:146:45: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:148:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:148:45: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:148:45: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:159:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:159:45: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:159:45: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:178:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:178:45: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:178:45: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:185:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:185:32: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:185:32: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:189:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:189:28: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:189:28: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:195:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:195:32: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:195:32: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:199:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:199:28: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:199:28: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:208:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:208:28: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:208:28: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:209:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:209:28: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:209:28: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:258:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:258:26: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:258:26: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:258:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:258:48: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:258:48: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:259:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:259:26: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:259:26: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:259:49: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:259:49: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:259:49: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:265:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:265:26: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:265:26: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:266:38: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:266:38: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:266:38: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:267:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:267:25: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:267:25: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:271:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:271:26: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:271:26: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:272:38: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:272:38: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:272:38: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:273:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:273:25: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:273:25: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:274:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:274:25: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:274:25: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:290:59: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:290:59: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:290:59: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:389:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:389:35: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:389:35: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:393:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:393:37: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:393:37: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:394:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:394:35: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:394:35: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:398:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:398:37: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:398:37: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:431:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:431:35: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:431:35: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:435:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:435:37: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:435:37: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:463:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:463:27: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:463:27: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:465:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:465:29: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:465:29: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:467:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:467:27: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:467:27: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:469:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:469:29: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:469:29: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:497:52: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:497:52: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:497:52: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:520:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:520:43: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:520:43: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:521:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:521:31: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:521:31: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:538:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:538:31: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:538:31: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:541:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:541:43: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:541:43: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:593:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:593:31: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:593:31: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:595:66: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:595:66: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:595:66: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:596:64: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:596:64: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:596:64: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:610:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:610:31: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:610:31: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:612:67: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:612:67: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:612:67: sparse:     got unsigned int *
   drivers/vlynq/vlynq.c:613:65: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:613:65: sparse:     expected void volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:613:65: sparse:     got unsigned int *
>> drivers/vlynq/vlynq.c:700:20: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct vlynq_regs *local @@     got void [noderef] __iomem * @@
   drivers/vlynq/vlynq.c:700:20: sparse:     expected struct vlynq_regs *local
>> drivers/vlynq/vlynq.c:700:20: sparse:     got void [noderef] __iomem *
   drivers/vlynq/vlynq.c:729:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   drivers/vlynq/vlynq.c:729:41: sparse:     expected void const volatile [noderef] __iomem *mem
   drivers/vlynq/vlynq.c:729:41: sparse:     got unsigned int *
>> drivers/vlynq/vlynq.c:738:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got struct vlynq_regs *local @@
>> drivers/vlynq/vlynq.c:738:20: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/vlynq/vlynq.c:738:20: sparse:     got struct vlynq_regs *local
   drivers/vlynq/vlynq.c:751:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got struct vlynq_regs *local @@
   drivers/vlynq/vlynq.c:751:20: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/vlynq/vlynq.c:751:20: sparse:     got struct vlynq_regs *local
   drivers/vlynq/vlynq.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: too many warnings
--
>> arch/mips/ar7/prom.c:151:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const volatile [noderef] __iomem *src @@     got void *psp_env_base @@
>> arch/mips/ar7/prom.c:151:31: sparse:     expected void const volatile [noderef] __iomem *src
   arch/mips/ar7/prom.c:151:31: sparse:     got void *psp_env_base
>> arch/mips/ar7/prom.c:243:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/ar7/prom.c:243:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/prom.c:243:23: sparse:     got void *
   arch/mips/ar7/prom.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
>> arch/mips/ar7/prom.c:248:24: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/ar7/prom.c:248:24: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/prom.c:248:24: sparse:     got void *
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
--
>> arch/mips/ar7/setup.c:17:28: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int [usertype] *softres_reg @@     got void [noderef] __iomem * @@
   arch/mips/ar7/setup.c:17:28: sparse:     expected unsigned int [usertype] *softres_reg
>> arch/mips/ar7/setup.c:17:28: sparse:     got void [noderef] __iomem *
>> arch/mips/ar7/setup.c:19:19: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] *softres_reg @@
>> arch/mips/ar7/setup.c:19:19: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/setup.c:19:19: sparse:     got unsigned int [usertype] *softres_reg
>> arch/mips/ar7/setup.c:30:27: sparse: sparse: cast removes address space '__iomem' of expression
>> arch/mips/ar7/setup.c:31:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int [usertype] *power_reg @@
>> arch/mips/ar7/setup.c:31:33: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/setup.c:31:33: sparse:     got unsigned int [usertype] *power_reg
>> arch/mips/ar7/setup.c:33:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] *power_reg @@
   arch/mips/ar7/setup.c:33:29: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/setup.c:33:29: sparse:     got unsigned int [usertype] *power_reg
   arch/mips/ar7/setup.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/seqlock.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/setup.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/setup.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/seqlock.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/setup.c: note: in included file:
   arch/mips/include/asm/mach-ar7/ar7.h:123:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:123:35: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:123:35: sparse:     got void *
   arch/mips/ar7/setup.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/seqlock.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/setup.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/setup.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/seqlock.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/setup.c: note: in included file:
   arch/mips/include/asm/mach-ar7/ar7.h:130:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:130:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:130:24: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/setup.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/seqlock.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
--
>> arch/mips/ar7/memory.c:40:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] ** @@
>> arch/mips/ar7/memory.c:40:31: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/memory.c:40:31: sparse:     got unsigned int [usertype] **
   arch/mips/ar7/memory.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/mmzone.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
--
>> arch/mips/ar7/irq.c:42:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
>> arch/mips/ar7/irq.c:42:16: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:42:16: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:48:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:48:16: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:48:16: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:54:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:54:16: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:54:16: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:59:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:59:51: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:59:51: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:64:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:64:51: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:64:51: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:69:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:69:51: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:69:51: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:92:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:92:28: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:92:28: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:93:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:93:22: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:93:22: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:94:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:94:28: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:94:28: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:95:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:95:28: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:95:28: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:96:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:96:22: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:96:22: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:97:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:97:28: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:97:28: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:102:27: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:102:27: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:102:27: sparse:     got unsigned int [usertype] *
>> arch/mips/ar7/irq.c:136:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
>> arch/mips/ar7/irq.c:136:21: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:136:21: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:143:19: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:143:19: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:143:19: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c:144:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int [usertype] * @@
   arch/mips/ar7/irq.c:144:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/irq.c:144:24: sparse:     got unsigned int [usertype] *
   arch/mips/ar7/irq.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/irq.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
--
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void *reset_reg @@
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     got void *reset_reg
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void *reset_reg @@
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     got void *reset_reg
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
   arch/mips/include/asm/mach-ar7/ar7.h:158:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void *reset_reg @@
   arch/mips/include/asm/mach-ar7/ar7.h:158:22: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:158:22: sparse:     got void *reset_reg
   arch/mips/include/asm/mach-ar7/ar7.h:158:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void *reset_reg @@
   arch/mips/include/asm/mach-ar7/ar7.h:158:47: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:158:47: sparse:     got void *reset_reg
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void *reset_reg @@
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     got void *reset_reg
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void *reset_reg @@
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     got void *reset_reg
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void *reset_reg @@
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     got void *reset_reg
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void *reset_reg @@
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     got void *reset_reg
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void *reset_reg @@
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     got void *reset_reg
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void *reset_reg @@
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     got void *reset_reg
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void *reset_reg @@
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:22: sparse:     got void *reset_reg
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got void *reset_reg @@
>> arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:166:48: sparse:     got void *reset_reg
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/platform.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/platform.c: note: in included file (through arch/mips/include/asm/mmiowb.h, include/linux/spinlock.h, include/linux/wait.h, ...):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
--
>> arch/mips/ar7/clock.c:147:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/ar7/clock.c:147:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:147:24: sparse:     got void *
   arch/mips/ar7/clock.c:148:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/ar7/clock.c:148:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:148:24: sparse:     got void *
>> arch/mips/ar7/clock.c:164:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:164:27: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:164:27: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:165:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:165:26: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:165:26: sparse:     got unsigned int *
>> arch/mips/ar7/clock.c:228:65: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
>> arch/mips/ar7/clock.c:228:65: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:228:65: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:230:20: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:230:20: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:230:20: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:231:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:231:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:231:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:233:64: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:233:64: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:233:64: sparse:     got unsigned int *
>> arch/mips/ar7/clock.c:239:24: sparse: sparse: cast removes address space '__iomem' of expression
>> arch/mips/ar7/clock.c:241:41: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct tnetd7300_clocks *clocks @@     got void [noderef] __iomem * @@
   arch/mips/ar7/clock.c:241:41: sparse:     expected struct tnetd7300_clocks *clocks
>> arch/mips/ar7/clock.c:241:41: sparse:     got void [noderef] __iomem *
>> arch/mips/ar7/clock.c:257:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got struct tnetd7300_clocks *clocks @@
>> arch/mips/ar7/clock.c:257:17: sparse:     expected void const volatile [noderef] __iomem *addr
   arch/mips/ar7/clock.c:257:17: sparse:     got struct tnetd7300_clocks *clocks
>> arch/mips/ar7/clock.c:258:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned int [usertype] *bootcr @@
   arch/mips/ar7/clock.c:258:17: sparse:     expected void const volatile [noderef] __iomem *addr
   arch/mips/ar7/clock.c:258:17: sparse:     got unsigned int [usertype] *bootcr
   arch/mips/ar7/clock.c:269:20: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:269:20: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:269:20: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:270:62: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:270:62: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:270:62: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:271:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:271:34: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:271:34: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:273:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:273:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:273:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:276:63: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:276:63: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:276:63: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:278:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:278:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:278:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:278:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:278:43: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:278:43: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:279:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:279:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:279:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:279:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:279:41: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:279:41: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:281:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:281:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:281:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:284:64: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:284:64: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:284:64: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:286:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:286:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:286:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:286:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:286:43: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:286:43: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:287:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:287:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:287:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:287:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:287:41: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:287:41: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:289:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:289:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:289:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:292:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:292:23: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:292:23: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:292:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *mem @@     got unsigned int * @@
   arch/mips/ar7/clock.c:292:42: sparse:     expected void volatile [noderef] __iomem *mem
   arch/mips/ar7/clock.c:292:42: sparse:     got unsigned int *
   arch/mips/ar7/clock.c:323:24: sparse: sparse: cast removes address space '__iomem' of expression
>> arch/mips/ar7/clock.c:325:41: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct tnetd7200_clocks *clocks @@     got void [noderef] __iomem * @@
   arch/mips/ar7/clock.c:325:41: sparse:     expected struct tnetd7200_clocks *clocks
   arch/mips/ar7/clock.c:325:41: sparse:     got void [noderef] __iomem *
>> arch/mips/ar7/clock.c:400:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got struct tnetd7200_clocks *clocks @@
   arch/mips/ar7/clock.c:400:17: sparse:     expected void const volatile [noderef] __iomem *addr
   arch/mips/ar7/clock.c:400:17: sparse:     got struct tnetd7200_clocks *clocks
   arch/mips/ar7/clock.c:401:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned int [usertype] *bootcr @@
   arch/mips/ar7/clock.c:401:17: sparse:     expected void const volatile [noderef] __iomem *addr
   arch/mips/ar7/clock.c:401:17: sparse:     got unsigned int [usertype] *bootcr
   arch/mips/ar7/clock.c: note: in included file:
   arch/mips/include/asm/mach-ar7/ar7.h:130:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:130:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:130:24: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/clock.c: note: in included file (through include/linux/io.h):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/ar7/clock.c: note: in included file:
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
>> arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:117:58: sparse:     got void *
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *mem @@     got void * @@
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     expected void const volatile [noderef] __iomem *mem
   arch/mips/include/asm/mach-ar7/ar7.h:111:24: sparse:     got void *
   arch/mips/ar7/clock.c: note: in included file (through include/linux/io.h):
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32
   arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32

vim +193 drivers/watchdog/ar7_wdt.c

c283cf2c09ca1b7 Matteo Croce        2007-09-20  178  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  179  static ssize_t ar7_wdt_write(struct file *file, const char *data,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  180  			     size_t len, loff_t *ppos)
c283cf2c09ca1b7 Matteo Croce        2007-09-20  181  {
c283cf2c09ca1b7 Matteo Croce        2007-09-20  182  	/* check for a magic close character */
c283cf2c09ca1b7 Matteo Croce        2007-09-20  183  	if (len) {
c283cf2c09ca1b7 Matteo Croce        2007-09-20  184  		size_t i;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  185  
670d59c0ae31a87 Alan Cox            2008-08-04  186  		spin_lock(&wdt_lock);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  187  		ar7_wdt_kick(1);
670d59c0ae31a87 Alan Cox            2008-08-04  188  		spin_unlock(&wdt_lock);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  189  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  190  		expect_close = 0;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  191  		for (i = 0; i < len; ++i) {
c283cf2c09ca1b7 Matteo Croce        2007-09-20  192  			char c;
c283cf2c09ca1b7 Matteo Croce        2007-09-20 @193  			if (get_user(c, data + i))
c283cf2c09ca1b7 Matteo Croce        2007-09-20  194  				return -EFAULT;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  195  			if (c == 'V')
c283cf2c09ca1b7 Matteo Croce        2007-09-20  196  				expect_close = 1;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  197  		}
c283cf2c09ca1b7 Matteo Croce        2007-09-20  198  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  199  	}
c283cf2c09ca1b7 Matteo Croce        2007-09-20  200  	return len;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  201  }
c283cf2c09ca1b7 Matteo Croce        2007-09-20  202  
670d59c0ae31a87 Alan Cox            2008-08-04  203  static long ar7_wdt_ioctl(struct file *file,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  204  					unsigned int cmd, unsigned long arg)
c283cf2c09ca1b7 Matteo Croce        2007-09-20  205  {
42747d712de56cf Wim Van Sebroeck    2009-12-26  206  	static const struct watchdog_info ident = {
c283cf2c09ca1b7 Matteo Croce        2007-09-20  207  		.identity = LONGNAME,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  208  		.firmware_version = 1,
e73a780272a46e8 Wim Van Sebroeck    2009-05-11  209  		.options = (WDIOF_SETTIMEOUT | WDIOF_KEEPALIVEPING |
e73a780272a46e8 Wim Van Sebroeck    2009-05-11  210  						WDIOF_MAGICCLOSE),
c283cf2c09ca1b7 Matteo Croce        2007-09-20  211  	};
c283cf2c09ca1b7 Matteo Croce        2007-09-20  212  	int new_margin;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  213  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  214  	switch (cmd) {
c283cf2c09ca1b7 Matteo Croce        2007-09-20  215  	case WDIOC_GETSUPPORT:
c283cf2c09ca1b7 Matteo Croce        2007-09-20 @216  		if (copy_to_user((struct watchdog_info *)arg, &ident,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  217  				sizeof(ident)))
c283cf2c09ca1b7 Matteo Croce        2007-09-20  218  			return -EFAULT;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  219  		return 0;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  220  	case WDIOC_GETSTATUS:
c283cf2c09ca1b7 Matteo Croce        2007-09-20  221  	case WDIOC_GETBOOTSTATUS:
c283cf2c09ca1b7 Matteo Croce        2007-09-20 @222  		if (put_user(0, (int *)arg))
c283cf2c09ca1b7 Matteo Croce        2007-09-20  223  			return -EFAULT;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  224  		return 0;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  225  	case WDIOC_KEEPALIVE:
c283cf2c09ca1b7 Matteo Croce        2007-09-20  226  		ar7_wdt_kick(1);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  227  		return 0;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  228  	case WDIOC_SETTIMEOUT:
c283cf2c09ca1b7 Matteo Croce        2007-09-20 @229  		if (get_user(new_margin, (int *)arg))
c283cf2c09ca1b7 Matteo Croce        2007-09-20  230  			return -EFAULT;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  231  		if (new_margin < 1)
c283cf2c09ca1b7 Matteo Croce        2007-09-20  232  			return -EINVAL;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  233  
670d59c0ae31a87 Alan Cox            2008-08-04  234  		spin_lock(&wdt_lock);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  235  		ar7_wdt_update_margin(new_margin);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  236  		ar7_wdt_kick(1);
670d59c0ae31a87 Alan Cox            2008-08-04  237  		spin_unlock(&wdt_lock);
d259f94f7265065 Gustavo A. R. Silva 2019-07-29  238  		/* Fall through */
c283cf2c09ca1b7 Matteo Croce        2007-09-20  239  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  240  	case WDIOC_GETTIMEOUT:
c283cf2c09ca1b7 Matteo Croce        2007-09-20  241  		if (put_user(margin, (int *)arg))
c283cf2c09ca1b7 Matteo Croce        2007-09-20  242  			return -EFAULT;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  243  		return 0;
0c06090c9472db0 Wim Van Sebroeck    2008-07-18  244  	default:
0c06090c9472db0 Wim Van Sebroeck    2008-07-18  245  		return -ENOTTY;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  246  	}
c283cf2c09ca1b7 Matteo Croce        2007-09-20  247  }
c283cf2c09ca1b7 Matteo Croce        2007-09-20  248  
b47a166ed0baaaa Jan Engelhardt      2008-01-22  249  static const struct file_operations ar7_wdt_fops = {
c283cf2c09ca1b7 Matteo Croce        2007-09-20  250  	.owner		= THIS_MODULE,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  251  	.write		= ar7_wdt_write,
670d59c0ae31a87 Alan Cox            2008-08-04  252  	.unlocked_ioctl	= ar7_wdt_ioctl,
b6dfb2477fb0bf4 Arnd Bergmann       2019-06-03  253  	.compat_ioctl	= compat_ptr_ioctl,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  254  	.open		= ar7_wdt_open,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  255  	.release	= ar7_wdt_release,
6038f373a3dc1f1 Arnd Bergmann       2010-08-15  256  	.llseek		= no_llseek,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  257  };
c283cf2c09ca1b7 Matteo Croce        2007-09-20  258  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  259  static struct miscdevice ar7_wdt_miscdev = {
c283cf2c09ca1b7 Matteo Croce        2007-09-20  260  	.minor		= WATCHDOG_MINOR,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  261  	.name		= "watchdog",
c283cf2c09ca1b7 Matteo Croce        2007-09-20  262  	.fops		= &ar7_wdt_fops,
c283cf2c09ca1b7 Matteo Croce        2007-09-20  263  };
c283cf2c09ca1b7 Matteo Croce        2007-09-20  264  
2d991a164a61858 Bill Pemberton      2012-11-19  265  static int ar7_wdt_probe(struct platform_device *pdev)
c283cf2c09ca1b7 Matteo Croce        2007-09-20  266  {
c283cf2c09ca1b7 Matteo Croce        2007-09-20  267  	int rc;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  268  
64d4062a3813e48 Florian Fainelli    2009-07-21  269  	ar7_regs_wdt =
64d4062a3813e48 Florian Fainelli    2009-07-21  270  		platform_get_resource_byname(pdev, IORESOURCE_MEM, "regs");
4c271bb67c04253 Thierry Reding      2013-01-21 @271  	ar7_wdt = devm_ioremap_resource(&pdev->dev, ar7_regs_wdt);
4c271bb67c04253 Thierry Reding      2013-01-21  272  	if (IS_ERR(ar7_wdt))
4c271bb67c04253 Thierry Reding      2013-01-21  273  		return PTR_ERR(ar7_wdt);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  274  
780019ddf02f214 Florian Fainelli    2010-01-27  275  	vbus_clk = clk_get(NULL, "vbus");
780019ddf02f214 Florian Fainelli    2010-01-27  276  	if (IS_ERR(vbus_clk)) {
27c766aaacb265d Joe Perches         2012-02-15  277  		pr_err("could not get vbus clock\n");
ae21cc20a604b45 Julia Lawall        2012-04-15  278  		return PTR_ERR(vbus_clk);
780019ddf02f214 Florian Fainelli    2010-01-27  279  	}
780019ddf02f214 Florian Fainelli    2010-01-27  280  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  281  	ar7_wdt_disable_wdt();
c283cf2c09ca1b7 Matteo Croce        2007-09-20  282  	ar7_wdt_prescale(prescale_value);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  283  	ar7_wdt_update_margin(margin);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  284  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  285  	rc = misc_register(&ar7_wdt_miscdev);
c283cf2c09ca1b7 Matteo Croce        2007-09-20  286  	if (rc) {
27c766aaacb265d Joe Perches         2012-02-15  287  		pr_err("unable to register misc device\n");
c283cf2c09ca1b7 Matteo Croce        2007-09-20  288  		goto out;
ae21cc20a604b45 Julia Lawall        2012-04-15  289  	}
ae21cc20a604b45 Julia Lawall        2012-04-15  290  	return 0;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  291  
c283cf2c09ca1b7 Matteo Croce        2007-09-20  292  out:
ae21cc20a604b45 Julia Lawall        2012-04-15  293  	clk_put(vbus_clk);
ae21cc20a604b45 Julia Lawall        2012-04-15  294  	vbus_clk = NULL;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  295  	return rc;
c283cf2c09ca1b7 Matteo Croce        2007-09-20  296  }
c283cf2c09ca1b7 Matteo Croce        2007-09-20  297  

:::::: The code at line 193 was first introduced by commit
:::::: c283cf2c09ca1b7f1e7677bde384a8f92b1b7584 [WATCHDOG] AR7: watchdog timer

:::::: TO: Matteo Croce <technoboy85@gmail.com>
:::::: CC: Wim Van Sebroeck <wim@iguana.be>

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 24961 bytes --]

             reply	other threads:[~2020-07-24  4:05 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-24  4:00 kernel test robot [this message]
2020-07-24  4:00 ` drivers/watchdog/ar7_wdt.c:193:29: sparse: sparse: incorrect type in initializer (different address spaces) kernel test robot
2022-07-10  3:55 kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202007241211.yQLaEaXs%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luc.vanoostenryck@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.