arch/powerpc/platforms/8xx/cpm1.c:209:24: sparse: sparse: incorrect type in argument 1 (different address spaces)

From: kernel test robot
Date: Mon Jun 29 2020 - 15:45:10 EST


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@xxxxxxxxx>


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@xxxxxxxxxxxxx>
:::::: CC: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip