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 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 :::::: CC: Wim Van Sebroeck --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org