lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202006292126.gvFU8Yag%lkp@intel.com>
Date:   Mon, 29 Jun 2020 21:44:34 +0800
From:   kernel test robot <lkp@...el.com>
To:     Luc Van Oostenryck <luc.vanoostenryck@...il.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: arch/powerpc/platforms/8xx/cpm1.c:209:24: sparse: sparse: incorrect
 type in argument 1 (different address spaces)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   9ebcfadb0610322ac537dd7aa5d9cbc2b2894c68
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date:   11 days ago
config: powerpc64-randconfig-s032-20200629 (attached as .config)
compiler: powerpc-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-3-gfa153962-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= CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc64 

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


sparse warnings: (new ones prefixed by >>)

>> arch/powerpc/platforms/8xx/cpm1.c:209:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct comm_proc [usertype] *cp @@     got struct comm_proc [noderef] [usertype] __iomem *[addressable] [assigned] [toplevel] cpmp @@
   arch/powerpc/platforms/8xx/cpm1.c:209:24: sparse:     expected struct comm_proc [usertype] *cp
>> arch/powerpc/platforms/8xx/cpm1.c:209:24: sparse:     got struct comm_proc [noderef] [usertype] __iomem *[addressable] [assigned] [toplevel] cpmp
>> arch/powerpc/platforms/8xx/cpm1.c:310:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
>> arch/powerpc/platforms/8xx/cpm1.c:310:17: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
>> arch/powerpc/platforms/8xx/cpm1.c:310:17: sparse:     got restricted __be32 [noderef] __iomem *
>> arch/powerpc/platforms/8xx/cpm1.c:310:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
>> arch/powerpc/platforms/8xx/cpm1.c:310:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
>> arch/powerpc/platforms/8xx/cpm1.c:310:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:312:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:312:17: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:312:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:312:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:312:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:312:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:315:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:315:17: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:315:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:315:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:315:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:315:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:317:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:317:17: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:317:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:317:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:317:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:317:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:328:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:328:25: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:328:25: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:328:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:328:25: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:328:25: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:330:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:330:25: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:330:25: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:330:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:330:25: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:330:25: sparse:     got restricted __be32 [noderef] __iomem *
>> arch/powerpc/platforms/8xx/cpm1.c:350:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
>> arch/powerpc/platforms/8xx/cpm1.c:350:17: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
>> arch/powerpc/platforms/8xx/cpm1.c:350:17: sparse:     got restricted __be16 [noderef] __iomem *
>> arch/powerpc/platforms/8xx/cpm1.c:350:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
>> arch/powerpc/platforms/8xx/cpm1.c:350:17: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
>> arch/powerpc/platforms/8xx/cpm1.c:350:17: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:352:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:352:17: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:352:17: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:352:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:352:17: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:352:17: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:355:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:355:17: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:355:17: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:355:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:355:17: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:355:17: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:357:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:357:17: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:357:17: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:357:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:357:17: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:357:17: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:361:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:361:25: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:361:25: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:361:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:361:25: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:361:25: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:363:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:363:25: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:363:25: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:363:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:363:25: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:363:25: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:367:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:367:25: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:367:25: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:367:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:367:25: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:367:25: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:369:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:369:25: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:369:25: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:369:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:369:25: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:369:25: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:371:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:371:25: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:371:25: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:371:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:371:25: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:371:25: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:373:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:373:25: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:373:25: sparse:     got restricted __be16 [noderef] __iomem *
   arch/powerpc/platforms/8xx/cpm1.c:373:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   arch/powerpc/platforms/8xx/cpm1.c:373:25: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/cpm1.c:373:25: sparse:     got restricted __be16 [noderef] __iomem *
--
>> arch/powerpc/platforms/8xx/micropatch.c:328:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *d @@     got unsigned char * @@
>> arch/powerpc/platforms/8xx/micropatch.c:328:34: sparse:     expected void volatile [noderef] __iomem *d
   arch/powerpc/platforms/8xx/micropatch.c:328:34: sparse:     got unsigned char *
>> arch/powerpc/platforms/8xx/micropatch.c:333:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
>> arch/powerpc/platforms/8xx/micropatch.c:333:19: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:333:19: sparse:     got unsigned short *
   arch/powerpc/platforms/8xx/micropatch.c:346:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:346:27: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:346:27: sparse:     got unsigned short *
>> arch/powerpc/platforms/8xx/micropatch.c:350:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 * @@
   arch/powerpc/platforms/8xx/micropatch.c:350:27: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:350:27: sparse:     got restricted __be16 *
   arch/powerpc/platforms/8xx/micropatch.c:356:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:356:35: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:356:35: sparse:     got unsigned short *
   arch/powerpc/platforms/8xx/micropatch.c:364:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:364:27: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:364:27: sparse:     got unsigned short *
   arch/powerpc/platforms/8xx/micropatch.c:366:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:366:27: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:366:27: sparse:     got unsigned short *
   arch/powerpc/platforms/8xx/micropatch.c:369:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:369:19: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:369:19: sparse:     got unsigned short *
   arch/powerpc/platforms/8xx/micropatch.c:370:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:370:19: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:370:19: sparse:     got unsigned short *
   arch/powerpc/platforms/8xx/micropatch.c:371:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:371:19: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:371:19: sparse:     got unsigned short *
   arch/powerpc/platforms/8xx/micropatch.c:372:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:372:19: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:372:19: sparse:     got unsigned short *
   arch/powerpc/platforms/8xx/micropatch.c:374:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:374:19: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:374:19: sparse:     got unsigned short *
--
>> drivers/tty/serial/cpm_uart/cpm_uart_cpm1.c:78:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned char [usertype] *dp_mem @@     got void [noderef] __iomem * @@
   drivers/tty/serial/cpm_uart/cpm_uart_cpm1.c:78:16: sparse:     expected unsigned char [usertype] *dp_mem
>> drivers/tty/serial/cpm_uart/cpm_uart_cpm1.c:78:16: sparse:     got void [noderef] __iomem *
>> drivers/tty/serial/cpm_uart/cpm_uart_cpm1.c:85:29: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/tty/serial/cpm_uart/cpm_uart_cpm1.c:86:48: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] __iomem *addr @@     got unsigned char [usertype] *[assigned] mem_addr @@
>> drivers/tty/serial/cpm_uart/cpm_uart_cpm1.c:86:48: sparse:     expected void [noderef] __iomem *addr
   drivers/tty/serial/cpm_uart/cpm_uart_cpm1.c:86:48: sparse:     got unsigned char [usertype] *[assigned] mem_addr
--
>> drivers/mtd/nand/raw/fsl_elbc_nand.c:168:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
>> drivers/mtd/nand/raw/fsl_elbc_nand.c:168:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
>> drivers/mtd/nand/raw/fsl_elbc_nand.c:168:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:169:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:169:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:169:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:178:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:178:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:178:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:179:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:179:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:179:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:212:19: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:212:19: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:212:19: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:214:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:214:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:214:27: sparse:     got restricted __be32 [noderef] __iomem *
>> drivers/mtd/nand/raw/fsl_elbc_nand.c:216:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
>> drivers/mtd/nand/raw/fsl_elbc_nand.c:216:9: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:216:9: sparse:     got restricted __be32 [noderef] __iomem *
>> drivers/mtd/nand/raw/fsl_elbc_nand.c:216:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
>> drivers/mtd/nand/raw/fsl_elbc_nand.c:216:9: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:216:9: sparse:     got restricted __be32 [noderef] __iomem *
>> drivers/mtd/nand/raw/fsl_elbc_nand.c:216:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
>> drivers/mtd/nand/raw/fsl_elbc_nand.c:216:9: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:216:9: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:219:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:219:9: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:219:9: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:219:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:219:9: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:219:9: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:219:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:219:9: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:219:9: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:227:19: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:227:19: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:227:19: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:235:47: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:235:47: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:235:47: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:240:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:240:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:240:17: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:240:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:240:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:240:17: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:253:44: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:253:44: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:253:44: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:266:35: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:266:35: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:266:35: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:283:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:283:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:283:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:290:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:290:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:290:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:293:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:293:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:293:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:300:35: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:300:35: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:300:35: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:302:35: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:302:35: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:302:35: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:334:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:334:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:334:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:359:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:359:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:359:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:372:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:372:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:372:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:375:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:375:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:375:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:380:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:380:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:380:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:400:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:400:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:400:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:407:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:407:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:407:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:412:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:412:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:412:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:439:21: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __be32 [usertype] fcr @@     got int @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:439:21: sparse:     expected restricted __be32 [usertype] fcr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:439:21: sparse:     got int
   drivers/mtd/nand/raw/fsl_elbc_nand.c:444:35: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:444:35: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:444:35: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:453:35: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:453:35: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:453:35: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:465:37: sparse: sparse: invalid assignment: |=
   drivers/mtd/nand/raw/fsl_elbc_nand.c:465:37: sparse:    left side has type restricted __be32
   drivers/mtd/nand/raw/fsl_elbc_nand.c:465:37: sparse:    right side has type int
   drivers/mtd/nand/raw/fsl_elbc_nand.c:468:37: sparse: sparse: invalid assignment: |=
   drivers/mtd/nand/raw/fsl_elbc_nand.c:468:37: sparse:    left side has type restricted __be32
   drivers/mtd/nand/raw/fsl_elbc_nand.c:468:37: sparse:    right side has type int
   drivers/mtd/nand/raw/fsl_elbc_nand.c:471:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:471:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:471:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:471:37: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __be32 [usertype] fcr @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:471:37: sparse:     expected unsigned int [usertype] val
   drivers/mtd/nand/raw/fsl_elbc_nand.c:471:37: sparse:     got restricted __be32 [usertype] fcr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:488:35: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:488:35: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:488:35: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:491:35: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:491:35: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:491:35: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:500:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:500:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:500:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/mtd/nand/raw/fsl_elbc_nand.c:503:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/mtd/nand/raw/fsl_elbc_nand.c:503:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/mtd/nand/raw/fsl_elbc_nand.c:503:27: sparse:     got restricted __be32 [noderef] __iomem *
--
>> drivers/watchdog/mpc8xxx_wdt.c:76:24: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
>> drivers/watchdog/mpc8xxx_wdt.c:76:24: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
>> drivers/watchdog/mpc8xxx_wdt.c:76:24: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/watchdog/mpc8xxx_wdt.c:77:24: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/watchdog/mpc8xxx_wdt.c:77:24: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/watchdog/mpc8xxx_wdt.c:77:24: sparse:     got restricted __be16 [noderef] __iomem *
>> drivers/watchdog/mpc8xxx_wdt.c:85:33: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
>> drivers/watchdog/mpc8xxx_wdt.c:85:33: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
>> drivers/watchdog/mpc8xxx_wdt.c:85:33: sparse:     got restricted __be32 [noderef] __iomem *
>> drivers/watchdog/mpc8xxx_wdt.c:94:24: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
>> drivers/watchdog/mpc8xxx_wdt.c:94:24: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/watchdog/mpc8xxx_wdt.c:94:24: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/watchdog/mpc8xxx_wdt.c:96:29: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/watchdog/mpc8xxx_wdt.c:96:29: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/watchdog/mpc8xxx_wdt.c:96:29: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/watchdog/mpc8xxx_wdt.c:152:33: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/watchdog/mpc8xxx_wdt.c:152:33: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/watchdog/mpc8xxx_wdt.c:152:33: sparse:     got restricted __be32 [noderef] __iomem *

vim +209 arch/powerpc/platforms/8xx/cpm1.c

f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24   85  
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  @86  int cpm_get_irq(void)
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24   87  {
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24   88  	int cpm_vec;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24   89  
4128a89ac80d37 arch/powerpc/platforms/8xx/cpm1.c Christophe Leroy 2019-06-14   90  	/*
4128a89ac80d37 arch/powerpc/platforms/8xx/cpm1.c Christophe Leroy 2019-06-14   91  	 * Get the vector by setting the ACK bit and then reading
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24   92  	 * the register.
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24   93  	 */
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24   94  	out_be16(&cpic_reg->cpic_civr, 1);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24   95  	cpm_vec = in_be16(&cpic_reg->cpic_civr);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24   96  	cpm_vec >>= 11;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24   97  
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24   98  	return irq_linear_revmap(cpm_pic_host, cpm_vec);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24   99  }
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  100  
bae1d8f19983fb arch/powerpc/sysdev/cpm1.c        Grant Likely     2012-02-14  101  static int cpm_pic_host_map(struct irq_domain *h, unsigned int virq,
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  102  			  irq_hw_number_t hw)
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  103  {
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  104  	pr_debug("cpm_pic_host_map(%d, 0x%lx)\n", virq, hw);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  105  
98488db9ff0184 arch/powerpc/sysdev/cpm1.c        Thomas Gleixner  2011-03-25  106  	irq_set_status_flags(virq, IRQ_LEVEL);
ec775d0e70eb6b arch/powerpc/sysdev/cpm1.c        Thomas Gleixner  2011-03-25  107  	irq_set_chip_and_handler(virq, &cpm_pic, handle_fasteoi_irq);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  108  	return 0;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  109  }
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  110  
4128a89ac80d37 arch/powerpc/platforms/8xx/cpm1.c Christophe Leroy 2019-06-14  111  /*
4128a89ac80d37 arch/powerpc/platforms/8xx/cpm1.c Christophe Leroy 2019-06-14  112   * The CPM can generate the error interrupt when there is a race condition
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  113   * between generating and masking interrupts.  All we have to do is ACK it
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  114   * and return.  This is a no-op function so we don't need any special
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  115   * tests in the interrupt handler.
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  116   */
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  117  static irqreturn_t cpm_error_interrupt(int irq, void *dev)
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  118  {
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  119  	return IRQ_HANDLED;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  120  }
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  121  
9f70b8eb3cd37c arch/powerpc/sysdev/cpm1.c        Grant Likely     2012-01-26  122  static const struct irq_domain_ops cpm_pic_host_ops = {
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  123  	.map = cpm_pic_host_map,
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  124  };
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  125  
132f92fdc42782 arch/powerpc/platforms/8xx/cpm1.c Christophe Leroy 2019-09-12  126  unsigned int __init cpm_pic_init(void)
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  127  {
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  128  	struct device_node *np = NULL;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  129  	struct resource res;
ef24ba7091517d arch/powerpc/sysdev/cpm1.c        Michael Ellerman 2016-09-06  130  	unsigned int sirq = 0, hwirq, eirq;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  131  	int ret;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  132  
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  133  	pr_debug("cpm_pic_init\n");
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  134  
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  135  	np = of_find_compatible_node(NULL, NULL, "fsl,cpm1-pic");
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  136  	if (np == NULL)
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  137  		np = of_find_compatible_node(NULL, "cpm-pic", "CPM");
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  138  	if (np == NULL) {
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  139  		printk(KERN_ERR "CPM PIC init: can not find cpm-pic node\n");
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  140  		return sirq;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  141  	}
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  142  
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  143  	ret = of_address_to_resource(np, 0, &res);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  144  	if (ret)
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  145  		goto end;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  146  
28f65c11f2ffb3 arch/powerpc/sysdev/cpm1.c        Joe Perches      2011-06-09  147  	cpic_reg = ioremap(res.start, resource_size(&res));
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  148  	if (cpic_reg == NULL)
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  149  		goto end;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  150  
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  151  	sirq = irq_of_parse_and_map(np, 0);
ef24ba7091517d arch/powerpc/sysdev/cpm1.c        Michael Ellerman 2016-09-06  152  	if (!sirq)
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  153  		goto end;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  154  
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  155  	/* Initialize the CPM interrupt controller. */
476eb4912601a8 arch/powerpc/sysdev/cpm1.c        Grant Likely     2011-05-04  156  	hwirq = (unsigned int)virq_to_hw(sirq);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  157  	out_be32(&cpic_reg->cpic_cicr,
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  158  	    (CICR_SCD_SCC4 | CICR_SCC_SCC3 | CICR_SCB_SCC2 | CICR_SCA_SCC1) |
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  159  		((hwirq/2) << 13) | CICR_HP_MASK);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  160  
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  161  	out_be32(&cpic_reg->cpic_cimr, 0);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  162  
a8db8cf0d894df arch/powerpc/sysdev/cpm1.c        Grant Likely     2012-02-14  163  	cpm_pic_host = irq_domain_add_linear(np, 64, &cpm_pic_host_ops, NULL);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  164  	if (cpm_pic_host == NULL) {
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  165  		printk(KERN_ERR "CPM2 PIC: failed to allocate irq host!\n");
ef24ba7091517d arch/powerpc/sysdev/cpm1.c        Michael Ellerman 2016-09-06  166  		sirq = 0;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  167  		goto end;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  168  	}
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  169  
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  170  	/* Install our own error handler. */
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  171  	np = of_find_compatible_node(NULL, NULL, "fsl,cpm1");
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  172  	if (np == NULL)
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  173  		np = of_find_node_by_type(NULL, "cpm");
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  174  	if (np == NULL) {
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  175  		printk(KERN_ERR "CPM PIC init: can not find cpm node\n");
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  176  		goto end;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  177  	}
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  178  
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  179  	eirq = irq_of_parse_and_map(np, 0);
ef24ba7091517d arch/powerpc/sysdev/cpm1.c        Michael Ellerman 2016-09-06  180  	if (!eirq)
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  181  		goto end;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  182  
b4f00d5b209832 arch/powerpc/platforms/8xx/cpm1.c afzal mohammed   2020-03-12  183  	if (request_irq(eirq, cpm_error_interrupt, IRQF_NO_THREAD, "error",
b4f00d5b209832 arch/powerpc/platforms/8xx/cpm1.c afzal mohammed   2020-03-12  184  			NULL))
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  185  		printk(KERN_ERR "Could not allocate CPM error IRQ!");
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  186  
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  187  	setbits32(&cpic_reg->cpic_cicr, CICR_IEN);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  188  
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  189  end:
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  190  	of_node_put(np);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  191  	return sirq;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  192  }
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  193  
15f8c604a79c48 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-28  194  void __init cpm_reset(void)
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  195  {
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  196  	sysconf8xx_t __iomem *siu_conf;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  197  
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  198  	cpmp = &mpc8xx_immr->im_cpm;
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  199  
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  200  #ifndef CONFIG_PPC_EARLY_DEBUG_CPM
4128a89ac80d37 arch/powerpc/platforms/8xx/cpm1.c Christophe Leroy 2019-06-14  201  	/* Perform a reset. */
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  202  	out_be16(&cpmp->cp_cpcr, CPM_CR_RST | CPM_CR_FLG);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  203  
4128a89ac80d37 arch/powerpc/platforms/8xx/cpm1.c Christophe Leroy 2019-06-14  204  	/* Wait for it. */
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  205  	while (in_be16(&cpmp->cp_cpcr) & CPM_CR_FLG);
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  206  #endif
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  207  
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  208  #ifdef CONFIG_UCODE_PATCH
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14 @209  	cpm_load_patch(cpmp);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  210  #endif
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  211  
4128a89ac80d37 arch/powerpc/platforms/8xx/cpm1.c Christophe Leroy 2019-06-14  212  	/*
4128a89ac80d37 arch/powerpc/platforms/8xx/cpm1.c Christophe Leroy 2019-06-14  213  	 * Set SDMA Bus Request priority 5.
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  214  	 * On 860T, this also enables FEC priority 6.  I am not sure
25985edcedea63 arch/powerpc/sysdev/cpm1.c        Lucas De Marchi  2011-03-30  215  	 * this is what we really want for some applications, but the
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  216  	 * manual recommends it.
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  217  	 * Bit 25, FAM can also be set to use FEC aggressive mode (860T).
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  218  	 */
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  219  	siu_conf = immr_map(im_siu_conf);
501ea76687ef16 arch/powerpc/sysdev/cpm1.c        Christophe Leroy 2016-02-04  220  	if ((mfspr(SPRN_IMMR) & 0xffff) == 0x0900) /* MPC885 */
501ea76687ef16 arch/powerpc/sysdev/cpm1.c        Christophe Leroy 2016-02-04  221  		out_be32(&siu_conf->sc_sdcr, 0x40);
501ea76687ef16 arch/powerpc/sysdev/cpm1.c        Christophe Leroy 2016-02-04  222  	else
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  223  		out_be32(&siu_conf->sc_sdcr, 1);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  224  	immr_unmap(siu_conf);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  225  }
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  226  
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  227  static DEFINE_SPINLOCK(cmd_lock);
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  228  
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  229  #define MAX_CR_CMD_LOOPS        10000
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  230  
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  231  int cpm_command(u32 command, u8 opcode)
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  232  {
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  233  	int i, ret;
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  234  	unsigned long flags;
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  235  
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  236  	if (command & 0xffffff0f)
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  237  		return -EINVAL;
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  238  
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  239  	spin_lock_irqsave(&cmd_lock, flags);
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  240  
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  241  	ret = 0;
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  242  	out_be16(&cpmp->cp_cpcr, command | CPM_CR_FLG | (opcode << 8));
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  243  	for (i = 0; i < MAX_CR_CMD_LOOPS; i++)
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  244  		if ((in_be16(&cpmp->cp_cpcr) & CPM_CR_FLG) == 0)
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  245  			goto out;
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  246  
e48b1b452ff630 arch/powerpc/sysdev/cpm1.c        Harvey Harrison  2008-03-29  247  	printk(KERN_ERR "%s(): Not able to issue CPM command\n", __func__);
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  248  	ret = -EIO;
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  249  out:
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  250  	spin_unlock_irqrestore(&cmd_lock, flags);
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  251  	return ret;
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  252  }
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  253  EXPORT_SYMBOL(cpm_command);
362f9b6fa8c967 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-26  254  
4128a89ac80d37 arch/powerpc/platforms/8xx/cpm1.c Christophe Leroy 2019-06-14  255  /*
4128a89ac80d37 arch/powerpc/platforms/8xx/cpm1.c Christophe Leroy 2019-06-14  256   * Set a baud rate generator.  This needs lots of work.  There are
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  257   * four BRGs, any of which can be wired to any channel.
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  258   * The internal baud rate clock is the system clock divided by 16.
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  259   * This assumes the baudrate is 16x oversampled by the uart.
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  260   */
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  261  #define BRG_INT_CLK		(get_brgfreq())
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  262  #define BRG_UART_CLK		(BRG_INT_CLK/16)
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  263  #define BRG_UART_CLK_DIV16	(BRG_UART_CLK/16)
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  264  
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  265  void
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  266  cpm_setbrg(uint brg, uint rate)
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  267  {
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  268  	u32 __iomem *bp;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  269  
4128a89ac80d37 arch/powerpc/platforms/8xx/cpm1.c Christophe Leroy 2019-06-14  270  	/* This is good enough to get SMCs running..... */
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  271  	bp = &cpmp->cp_brgc1;
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  272  	bp += brg;
4128a89ac80d37 arch/powerpc/platforms/8xx/cpm1.c Christophe Leroy 2019-06-14  273  	/*
4128a89ac80d37 arch/powerpc/platforms/8xx/cpm1.c Christophe Leroy 2019-06-14  274  	 * The BRG has a 12-bit counter.  For really slow baud rates (or
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  275  	 * really fast processors), we may have to further divide by 16.
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  276  	 */
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  277  	if (((BRG_UART_CLK / rate) - 1) < 4096)
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  278  		out_be32(bp, (((BRG_UART_CLK / rate) - 1) << 1) | CPM_BRG_EN);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  279  	else
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  280  		out_be32(bp, (((BRG_UART_CLK_DIV16 / rate) - 1) << 1) |
fb533d0c5a9783 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-09-14  281  			      CPM_BRG_EN | CPM_BRG_DIV16);
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  282  }
f2a0bd3753dad7 arch/powerpc/sysdev/commproc.c    Vitaly Bordug    2007-01-24  283  
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  284  struct cpm_ioport16 {
721c0c8af1a279 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-22  285  	__be16 dir, par, odr_sor, dat, intr;
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  286  	__be16 res[3];
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  287  };
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  288  
dc2380ec8572fc arch/powerpc/sysdev/cpm1.c        Jochen Friedrich 2008-07-03  289  struct cpm_ioport32b {
dc2380ec8572fc arch/powerpc/sysdev/cpm1.c        Jochen Friedrich 2008-07-03  290  	__be32 dir, par, odr, dat;
dc2380ec8572fc arch/powerpc/sysdev/cpm1.c        Jochen Friedrich 2008-07-03  291  };
dc2380ec8572fc arch/powerpc/sysdev/cpm1.c        Jochen Friedrich 2008-07-03  292  
dc2380ec8572fc arch/powerpc/sysdev/cpm1.c        Jochen Friedrich 2008-07-03  293  struct cpm_ioport32e {
dc2380ec8572fc arch/powerpc/sysdev/cpm1.c        Jochen Friedrich 2008-07-03  294  	__be32 dir, par, sor, odr, dat;
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  295  };
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  296  
132f92fdc42782 arch/powerpc/platforms/8xx/cpm1.c Christophe Leroy 2019-09-12  297  static void __init cpm1_set_pin32(int port, int pin, int flags)
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  298  {
dc2380ec8572fc arch/powerpc/sysdev/cpm1.c        Jochen Friedrich 2008-07-03  299  	struct cpm_ioport32e __iomem *iop;
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  300  	pin = 1 << (31 - pin);
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  301  
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  302  	if (port == CPM_PORTB)
dc2380ec8572fc arch/powerpc/sysdev/cpm1.c        Jochen Friedrich 2008-07-03  303  		iop = (struct cpm_ioport32e __iomem *)
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  304  		      &mpc8xx_immr->im_cpm.cp_pbdir;
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  305  	else
dc2380ec8572fc arch/powerpc/sysdev/cpm1.c        Jochen Friedrich 2008-07-03  306  		iop = (struct cpm_ioport32e __iomem *)
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  307  		      &mpc8xx_immr->im_cpm.cp_pedir;
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  308  
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  309  	if (flags & CPM_PIN_OUTPUT)
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16 @310  		setbits32(&iop->dir, pin);
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  311  	else
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  312  		clrbits32(&iop->dir, pin);
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  313  
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  314  	if (!(flags & CPM_PIN_GPIO))
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  315  		setbits32(&iop->par, pin);
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  316  	else
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  317  		clrbits32(&iop->par, pin);
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  318  
721c0c8af1a279 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-22  319  	if (port == CPM_PORTB) {
721c0c8af1a279 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-22  320  		if (flags & CPM_PIN_OPENDRAIN)
721c0c8af1a279 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-22  321  			setbits16(&mpc8xx_immr->im_cpm.cp_pbodr, pin);
721c0c8af1a279 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-22  322  		else
721c0c8af1a279 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-22  323  			clrbits16(&mpc8xx_immr->im_cpm.cp_pbodr, pin);
721c0c8af1a279 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-22  324  	}
721c0c8af1a279 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-22  325  
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  326  	if (port == CPM_PORTE) {
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  327  		if (flags & CPM_PIN_SECONDARY)
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16 @328  			setbits32(&iop->sor, pin);
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  329  		else
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16 @330  			clrbits32(&iop->sor, pin);
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  331  
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  332  		if (flags & CPM_PIN_OPENDRAIN)
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  333  			setbits32(&mpc8xx_immr->im_cpm.cp_peodr, pin);
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  334  		else
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  335  			clrbits32(&mpc8xx_immr->im_cpm.cp_peodr, pin);
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  336  	}
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  337  }
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  338  
132f92fdc42782 arch/powerpc/platforms/8xx/cpm1.c Christophe Leroy 2019-09-12  339  static void __init cpm1_set_pin16(int port, int pin, int flags)
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  340  {
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  341  	struct cpm_ioport16 __iomem *iop =
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  342  		(struct cpm_ioport16 __iomem *)&mpc8xx_immr->im_ioport;
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  343  
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  344  	pin = 1 << (15 - pin);
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  345  
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  346  	if (port != 0)
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  347  		iop += port - 1;
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  348  
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  349  	if (flags & CPM_PIN_OUTPUT)
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16 @350  		setbits16(&iop->dir, pin);
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  351  	else
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  352  		clrbits16(&iop->dir, pin);
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  353  
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  354  	if (!(flags & CPM_PIN_GPIO))
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  355  		setbits16(&iop->par, pin);
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  356  	else
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  357  		clrbits16(&iop->par, pin);
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  358  
721c0c8af1a279 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-22  359  	if (port == CPM_PORTA) {
721c0c8af1a279 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-22  360  		if (flags & CPM_PIN_OPENDRAIN)
721c0c8af1a279 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-22  361  			setbits16(&iop->odr_sor, pin);
721c0c8af1a279 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-22  362  		else
721c0c8af1a279 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-22  363  			clrbits16(&iop->odr_sor, pin);
721c0c8af1a279 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-22  364  	}
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  365  	if (port == CPM_PORTC) {
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  366  		if (flags & CPM_PIN_SECONDARY)
721c0c8af1a279 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-22  367  			setbits16(&iop->odr_sor, pin);
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  368  		else
721c0c8af1a279 arch/powerpc/sysdev/commproc.c    Jochen Friedrich 2007-11-22  369  			clrbits16(&iop->odr_sor, pin);
726bd223105c04 arch/powerpc/sysdev/cpm1.c        Christophe Leroy 2017-05-01  370  		if (flags & CPM_PIN_FALLEDGE)
726bd223105c04 arch/powerpc/sysdev/cpm1.c        Christophe Leroy 2017-05-01  371  			setbits16(&iop->intr, pin);
726bd223105c04 arch/powerpc/sysdev/cpm1.c        Christophe Leroy 2017-05-01  372  		else
726bd223105c04 arch/powerpc/sysdev/cpm1.c        Christophe Leroy 2017-05-01  373  			clrbits16(&iop->intr, pin);
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  374  	}
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  375  }
663edbd2640447 arch/powerpc/sysdev/commproc.c    Scott Wood       2007-07-16  376  

:::::: The code at line 209 was first introduced by commit
:::::: fb533d0c5a9783ecafa9a177bace6384c47282a9 [POWERPC] 8xx: Infrastructure code cleanup.

:::::: TO: Scott Wood <scottwood@...escale.com>
:::::: CC: Kumar Gala <galak@...nel.crashing.org>

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

Download attachment ".config.gz" of type "application/gzip" (27556 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ