Messages in this thread | | | Date | Mon, 29 Jun 2020 21:44:34 +0800 | From | kernel test robot <> | 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@intel.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@freescale.com> :::::: CC: Kumar Gala <galak@kernel.crashing.org>
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [unhandled content-type:application/gzip] | |