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

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


sparse warnings: (new ones prefixed by >>)

>> arch/powerpc/sysdev/fsl_rcpm.c:32:9: 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/sysdev/fsl_rcpm.c:32:9: sparse:     expected unsigned int 
>> volatile [noderef] [usertype] __iomem *addr
>> arch/powerpc/sysdev/fsl_rcpm.c:32:9: sparse:     got restricted __be32 
>> [noderef] __iomem *
>> arch/powerpc/sysdev/fsl_rcpm.c:32: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 * @@
>> arch/powerpc/sysdev/fsl_rcpm.c:32:9: sparse:     expected unsigned int const 
>> volatile [noderef] [usertype] __iomem *addr
>> arch/powerpc/sysdev/fsl_rcpm.c:32:9: sparse:     got restricted __be32 
>> [noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:33:9: 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/sysdev/fsl_rcpm.c:33:9: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:33:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:33: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 * @@
   arch/powerpc/sysdev/fsl_rcpm.c:33:9: sparse:     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:33:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:34:9: 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/sysdev/fsl_rcpm.c:34:9: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:34:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:34: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 * @@
   arch/powerpc/sysdev/fsl_rcpm.c:34:9: sparse:     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:34:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:35:9: 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/sysdev/fsl_rcpm.c:35:9: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:35:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:35: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 * @@
   arch/powerpc/sysdev/fsl_rcpm.c:35:9: sparse:     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:35:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:43:9: 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/sysdev/fsl_rcpm.c:43:9: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:43:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:43: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 * @@
   arch/powerpc/sysdev/fsl_rcpm.c:43:9: sparse:     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:43:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:44:9: 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/sysdev/fsl_rcpm.c:44:9: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:44:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:44: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 * @@
   arch/powerpc/sysdev/fsl_rcpm.c:44:9: sparse:     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:44:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:45:9: 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/sysdev/fsl_rcpm.c:45:9: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:45:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:45: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 * @@
   arch/powerpc/sysdev/fsl_rcpm.c:45:9: sparse:     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:45:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:46:9: 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/sysdev/fsl_rcpm.c:46:9: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:46:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:46: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 * @@
   arch/powerpc/sysdev/fsl_rcpm.c:46:9: sparse:     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:46:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:54:9: 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/sysdev/fsl_rcpm.c:54:9: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:54:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:54: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 * @@
   arch/powerpc/sysdev/fsl_rcpm.c:54:9: sparse:     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:54:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:55:9: 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/sysdev/fsl_rcpm.c:55:9: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:55:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:55: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 * @@
   arch/powerpc/sysdev/fsl_rcpm.c:55:9: sparse:     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:55:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:56:9: 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/sysdev/fsl_rcpm.c:56:9: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:56:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:56: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 * @@
   arch/powerpc/sysdev/fsl_rcpm.c:56:9: sparse:     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:56:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:57:9: 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/sysdev/fsl_rcpm.c:57:9: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:57:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:57: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 * @@
   arch/powerpc/sysdev/fsl_rcpm.c:57:9: sparse:     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:57:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:65:9: 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/sysdev/fsl_rcpm.c:65:9: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:65:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:65: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 * @@
   arch/powerpc/sysdev/fsl_rcpm.c:65:9: sparse:     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:65:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:66:9: 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/sysdev/fsl_rcpm.c:66:9: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:66:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:66: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 * @@
   arch/powerpc/sysdev/fsl_rcpm.c:66:9: sparse:     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:66:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:67:9: 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/sysdev/fsl_rcpm.c:67:9: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:67:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:67: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 * @@
   arch/powerpc/sysdev/fsl_rcpm.c:67:9: sparse:     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:67:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:68:9: 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/sysdev/fsl_rcpm.c:68:9: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:68:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:68: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 * @@
   arch/powerpc/sysdev/fsl_rcpm.c:68:9: sparse:     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:68:9: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:74: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/sysdev/fsl_rcpm.c:74:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:74:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:74: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/sysdev/fsl_rcpm.c:74:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:74:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:76: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/sysdev/fsl_rcpm.c:76:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:76:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:76: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/sysdev/fsl_rcpm.c:76:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:76:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:82: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/sysdev/fsl_rcpm.c:82:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:82:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:82: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/sysdev/fsl_rcpm.c:82:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:82:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:84: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/sysdev/fsl_rcpm.c:84:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:84:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:84: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/sysdev/fsl_rcpm.c:84:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:84:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:94: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/sysdev/fsl_rcpm.c:94:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:94:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:94: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/sysdev/fsl_rcpm.c:94:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:94:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:97: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/sysdev/fsl_rcpm.c:97:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:97:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:97: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/sysdev/fsl_rcpm.c:97:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:97:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:113: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/sysdev/fsl_rcpm.c:113:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:113:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:113: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/sysdev/fsl_rcpm.c:113:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:113:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:116: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/sysdev/fsl_rcpm.c:116:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:116:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:116: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/sysdev/fsl_rcpm.c:116:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:116:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:119: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/sysdev/fsl_rcpm.c:119:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:119:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:119: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/sysdev/fsl_rcpm.c:119:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:119:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:122: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/sysdev/fsl_rcpm.c:122:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:122:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:122: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/sysdev/fsl_rcpm.c:122:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:122:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:171: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/sysdev/fsl_rcpm.c:171:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:171:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:171: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/sysdev/fsl_rcpm.c:171:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:171:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:174: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/sysdev/fsl_rcpm.c:174:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:174:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:174: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/sysdev/fsl_rcpm.c:174:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:174:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:195: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/sysdev/fsl_rcpm.c:195:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:195:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:195: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/sysdev/fsl_rcpm.c:195:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:195:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:198: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/sysdev/fsl_rcpm.c:198:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:198:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:198: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/sysdev/fsl_rcpm.c:198:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:198:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:201: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/sysdev/fsl_rcpm.c:201:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:201:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:201: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/sysdev/fsl_rcpm.c:201:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:201:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:204: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/sysdev/fsl_rcpm.c:204:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:204:17: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:204: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/sysdev/fsl_rcpm.c:204:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:204:17: sparse:     got restricted __be32 
[noderef] __iomem *
>> arch/powerpc/sysdev/fsl_rcpm.c:219:27: sparse: sparse: incorrect type in 
>> initializer (different base types) @@     expected unsigned int [usertype] 
>> *pmcsr_reg @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/sysdev/fsl_rcpm.c:219:27: sparse:     expected unsigned int 
[usertype] *pmcsr_reg
   arch/powerpc/sysdev/fsl_rcpm.c:219:27: sparse:     got restricted __be32 
[noderef] __iomem *
>> arch/powerpc/sysdev/fsl_rcpm.c:225:17: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected unsigned int volatile 
>> [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
>> *pmcsr_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:225:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:225:17: sparse:     got unsigned int 
[usertype] *pmcsr_reg
>> arch/powerpc/sysdev/fsl_rcpm.c:225:17: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected unsigned int const 
>> volatile [noderef] [usertype] __iomem *addr @@     got unsigned int 
>> [usertype] *pmcsr_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:225:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:225:17: sparse:     got unsigned int 
[usertype] *pmcsr_reg
   arch/powerpc/sysdev/fsl_rcpm.c:228:26: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
*pmcsr_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:228:26: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:228:26: sparse:     got unsigned int 
[usertype] *pmcsr_reg
   arch/powerpc/sysdev/fsl_rcpm.c:228:26: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
*pmcsr_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:228:26: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:228:26: sparse:     got unsigned int 
[usertype] *pmcsr_reg
   arch/powerpc/sysdev/fsl_rcpm.c:228:26: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
*pmcsr_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:228:26: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:228:26: sparse:     got unsigned int 
[usertype] *pmcsr_reg
   arch/powerpc/sysdev/fsl_rcpm.c:228:26: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
*pmcsr_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:228:26: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:228:26: sparse:     got unsigned int 
[usertype] *pmcsr_reg
   arch/powerpc/sysdev/fsl_rcpm.c:245:27: sparse: sparse: incorrect type in 
initializer (different base types) @@     expected unsigned int [usertype] 
*pmcsr_reg @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/sysdev/fsl_rcpm.c:245:27: sparse:     expected unsigned int 
[usertype] *pmcsr_reg
   arch/powerpc/sysdev/fsl_rcpm.c:245:27: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:252:17: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected unsigned int volatile 
[noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
*pmcsr_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:252:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:252:17: sparse:     got unsigned int 
[usertype] *pmcsr_reg
   arch/powerpc/sysdev/fsl_rcpm.c:252:17: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
*pmcsr_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:252:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:252:17: sparse:     got unsigned int 
[usertype] *pmcsr_reg
   arch/powerpc/sysdev/fsl_rcpm.c:254:17: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected unsigned int volatile 
[noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
*pmcsr_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:254:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:254:17: sparse:     got unsigned int 
[usertype] *pmcsr_reg
   arch/powerpc/sysdev/fsl_rcpm.c:254:17: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
*pmcsr_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:254:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:254:17: sparse:     got unsigned int 
[usertype] *pmcsr_reg
   arch/powerpc/sysdev/fsl_rcpm.c:259:26: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
*pmcsr_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:259:26: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:259:26: sparse:     got unsigned int 
[usertype] *pmcsr_reg
   arch/powerpc/sysdev/fsl_rcpm.c:259:26: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
*pmcsr_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:259:26: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:259:26: sparse:     got unsigned int 
[usertype] *pmcsr_reg
   arch/powerpc/sysdev/fsl_rcpm.c:259:26: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
*pmcsr_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:259:26: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:259:26: sparse:     got unsigned int 
[usertype] *pmcsr_reg
   arch/powerpc/sysdev/fsl_rcpm.c:259:26: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
*pmcsr_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:259:26: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:259:26: sparse:     got unsigned int 
[usertype] *pmcsr_reg
>> arch/powerpc/sysdev/fsl_rcpm.c:289:32: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected unsigned int const 
>> volatile [noderef] [usertype] __iomem *addr @@     got unsigned int 
>> [usertype] *tben_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:289:32: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:289:32: sparse:     got unsigned int 
[usertype] *tben_reg
>> arch/powerpc/sysdev/fsl_rcpm.c:290:17: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected unsigned int volatile 
>> [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
>> *tben_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:290:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:290:17: sparse:     got unsigned int 
[usertype] *tben_reg
   arch/powerpc/sysdev/fsl_rcpm.c:290:17: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
*tben_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:290:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:290:17: sparse:     got unsigned int 
[usertype] *tben_reg
   arch/powerpc/sysdev/fsl_rcpm.c:292:17: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected unsigned int volatile 
[noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] *tben_reg 
@@
   arch/powerpc/sysdev/fsl_rcpm.c:292:17: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:292:17: sparse:     got unsigned int 
[usertype] *tben_reg
   arch/powerpc/sysdev/fsl_rcpm.c:292:17: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
*tben_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:292:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:292:17: sparse:     got unsigned int 
[usertype] *tben_reg
   arch/powerpc/sysdev/fsl_rcpm.c:296:17: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected unsigned int const 
volatile [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] 
*tben_reg @@
   arch/powerpc/sysdev/fsl_rcpm.c:296:17: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_rcpm.c:296:17: sparse:     got unsigned int 
[usertype] *tben_reg
>> arch/powerpc/sysdev/fsl_rcpm.c:301:39: sparse: sparse: incorrect type in 
>> argument 1 (different base types) @@     expected unsigned int [usertype] 
>> *tben_reg @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/sysdev/fsl_rcpm.c:301:39: sparse:     expected unsigned int 
[usertype] *tben_reg
   arch/powerpc/sysdev/fsl_rcpm.c:301:39: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_rcpm.c:306:39: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int [usertype] 
*tben_reg @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/sysdev/fsl_rcpm.c:306:39: sparse:     expected unsigned int 
[usertype] *tben_reg
   arch/powerpc/sysdev/fsl_rcpm.c:306:39: sparse:     got restricted __be32 
[noderef] __iomem *
--
>> arch/powerpc/sysdev/fsl_soc.c:163:18: sparse: sparse: incorrect type in 
>> argument 1 (different base types) @@     expected unsigned int volatile 
>> [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] 
>> [usertype] __iomem *static [toplevel] rstcr @@
>> arch/powerpc/sysdev/fsl_soc.c:163:18: sparse:     expected unsigned int 
>> volatile [noderef] [usertype] __iomem *addr
>> arch/powerpc/sysdev/fsl_soc.c:163:18: sparse:     got restricted __be32 
>> [noderef] [usertype] __iomem *static [toplevel] rstcr
--
>> arch/powerpc/sysdev/fsl_pci.c:79:52: sparse: sparse: incorrect type in 
>> initializer (different address spaces) @@     expected struct ccsr_pci 
>> [noderef] __iomem *pci @@     got void *private_data @@
>> arch/powerpc/sysdev/fsl_pci.c:79:52: sparse:     expected struct ccsr_pci 
>> [noderef] __iomem *pci
   arch/powerpc/sysdev/fsl_pci.c:79:52: sparse:     got void *private_data
>> arch/powerpc/sysdev/fsl_pci.c:81: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 * @@
>> arch/powerpc/sysdev/fsl_pci.c:81:33: sparse:     expected unsigned int const 
>> volatile [noderef] [usertype] __iomem *addr
>> arch/powerpc/sysdev/fsl_pci.c:81:33: sparse:     got restricted __be32 
>> [noderef] __iomem *
>> arch/powerpc/sysdev/fsl_pci.c:166:35: 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/sysdev/fsl_pci.c:166:35: sparse:     expected unsigned int 
>> volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:166:35: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:167:35: 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/sysdev/fsl_pci.c:167:35: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:167:35: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:168:35: 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/sysdev/fsl_pci.c:168:35: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:168:35: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:169:35: 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/sysdev/fsl_pci.c:169:35: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:169:35: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:195:44: sparse: sparse: incorrect type in 
initializer (different address spaces) @@     expected struct ccsr_pci 
[noderef] __iomem *pci @@     got void *private_data @@
   arch/powerpc/sysdev/fsl_pci.c:195:44: sparse:     expected struct ccsr_pci 
[noderef] __iomem *pci
   arch/powerpc/sysdev/fsl_pci.c:195:44: sparse:     got void *private_data
   arch/powerpc/sysdev/fsl_pci.c:229:30: 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/sysdev/fsl_pci.c:229:30: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:229:30: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:238:35: 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/sysdev/fsl_pci.c:238:35: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:238:35: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:242:43: 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/sysdev/fsl_pci.c:242:43: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:242:43: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:274:43: 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/sysdev/fsl_pci.c:274:43: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:274:43: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:275:43: 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/sysdev/fsl_pci.c:275:43: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:275:43: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:276:43: 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/sysdev/fsl_pci.c:276:43: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:276:43: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:278:43: 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/sysdev/fsl_pci.c:278:43: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:278:43: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:332:44: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected restricted __be64 const 
[usertype] *p @@     got unsigned long long const [usertype] *[assigned] reg @@
   arch/powerpc/sysdev/fsl_pci.c:332:44: sparse:     expected restricted __be64 
const [usertype] *p
   arch/powerpc/sysdev/fsl_pci.c:332:44: sparse:     got unsigned long long 
const [usertype] *[assigned] reg
   arch/powerpc/sysdev/fsl_pci.c:361:43: 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/sysdev/fsl_pci.c:361:43: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:361:43: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:362:43: 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/sysdev/fsl_pci.c:362:43: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:362:43: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:363:43: 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/sysdev/fsl_pci.c:363:43: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:363:43: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:387:51: 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/sysdev/fsl_pci.c:387:51: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:387:51: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:388:51: 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/sysdev/fsl_pci.c:388:51: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:388:51: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:390:51: 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/sysdev/fsl_pci.c:390:51: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:390:51: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:392:51: 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/sysdev/fsl_pci.c:392:51: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:392:51: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:408:43: 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/sysdev/fsl_pci.c:408:43: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:408:43: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:409:43: 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/sysdev/fsl_pci.c:409:43: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:409:43: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:410:43: 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/sysdev/fsl_pci.c:410:43: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:410:43: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:423:51: 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/sysdev/fsl_pci.c:423:51: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:423:51: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:425:51: 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/sysdev/fsl_pci.c:425:51: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:425:51: sparse:     got restricted __be32 
[noderef] __iomem *
   arch/powerpc/sysdev/fsl_pci.c:427:51: 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/sysdev/fsl_pci.c:427:51: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:427:51: sparse:     got restricted __be32 
[noderef] __iomem *
>> arch/powerpc/sysdev/fsl_pci.c:562:34: sparse: sparse: incorrect type in 
>> assignment (different address spaces) @@     expected void *private_data @@  
>>    got void [noderef] __iomem * @@
   arch/powerpc/sysdev/fsl_pci.c:562:34: sparse:     expected void *private_data
>> arch/powerpc/sysdev/fsl_pci.c:562:34: sparse:     got void [noderef] __iomem 
>> *
   arch/powerpc/sysdev/fsl_pci.c:569:22: 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/sysdev/fsl_pci.c:569:22: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:569:22: sparse:     got restricted __be32 
[noderef] __iomem *
>> arch/powerpc/sysdev/fsl_pci.c:640:21: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected void volatile 
>> [noderef] __iomem *addr @@     got void *private_data @@
>> arch/powerpc/sysdev/fsl_pci.c:640:21: sparse:     expected void volatile 
>> [noderef] __iomem *addr
   arch/powerpc/sysdev/fsl_pci.c:640:21: sparse:     got void *private_data
--
>> drivers/video/fbdev/fsl-diu-fb.c:497:26: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected unsigned int const 
>> volatile [noderef] [usertype] __iomem *addr @@     got unsigned int 
>> [usertype] *reg @@
>> drivers/video/fbdev/fsl-diu-fb.c:497:26: sparse:     expected unsigned int 
>> const volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:497:26: sparse:     got unsigned int 
[usertype] *reg
>> drivers/video/fbdev/fsl-diu-fb.c:496:26: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected unsigned int volatile 
>> [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] *reg @@
>> drivers/video/fbdev/fsl-diu-fb.c:496:26: sparse:     expected unsigned int 
>> volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:496:26: sparse:     got unsigned int 
[usertype] *reg
   drivers/video/fbdev/fsl-diu-fb.c:493:6: sparse: sparse: symbol 'wr_reg_wa' 
was not declared. Should it be static?
>> drivers/video/fbdev/fsl-diu-fb.c:509:36: sparse: sparse: incorrect type in 
>> argument 1 (different base types) @@     expected unsigned int [usertype] 
>> *reg @@     got restricted __be32 [noderef] __iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:509:36: sparse:     expected unsigned int 
[usertype] *reg
>> drivers/video/fbdev/fsl-diu-fb.c:509:36: sparse:     got restricted __be32 
>> [noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:513:29: sparse: sparse: restricted __be32 
degrades to integer
   drivers/video/fbdev/fsl-diu-fb.c:519:44: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int [usertype] *reg 
@@     got restricted __be32 [noderef] __iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:519:44: sparse:     expected unsigned int 
[usertype] *reg
   drivers/video/fbdev/fsl-diu-fb.c:519:44: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:524:29: sparse: sparse: restricted __be32 
degrades to integer
   drivers/video/fbdev/fsl-diu-fb.c:530:44: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int [usertype] *reg 
@@     got restricted __be32 [noderef] __iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:530:44: sparse:     expected unsigned int 
[usertype] *reg
   drivers/video/fbdev/fsl-diu-fb.c:530:44: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:536:29: sparse: sparse: restricted __be32 
degrades to integer
   drivers/video/fbdev/fsl-diu-fb.c:537:44: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int [usertype] *reg 
@@     got restricted __be32 [noderef] __iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:537:44: sparse:     expected unsigned int 
[usertype] *reg
   drivers/video/fbdev/fsl-diu-fb.c:537:44: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:544:29: sparse: sparse: restricted __be32 
degrades to integer
   drivers/video/fbdev/fsl-diu-fb.c:545:44: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int [usertype] *reg 
@@     got restricted __be32 [noderef] __iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:545:44: sparse:     expected unsigned int 
[usertype] *reg
   drivers/video/fbdev/fsl-diu-fb.c:545:44: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:561:36: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int [usertype] *reg 
@@     got restricted __be32 [noderef] __iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:561:36: sparse:     expected unsigned int 
[usertype] *reg
   drivers/video/fbdev/fsl-diu-fb.c:561:36: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:566:44: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int [usertype] *reg 
@@     got restricted __be32 [noderef] __iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:566:44: sparse:     expected unsigned int 
[usertype] *reg
   drivers/video/fbdev/fsl-diu-fb.c:566:44: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:569:44: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int [usertype] *reg 
@@     got restricted __be32 [noderef] __iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:569:44: sparse:     expected unsigned int 
[usertype] *reg
   drivers/video/fbdev/fsl-diu-fb.c:569:44: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:575:44: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int [usertype] *reg 
@@     got restricted __be32 [noderef] __iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:575:44: sparse:     expected unsigned int 
[usertype] *reg
   drivers/video/fbdev/fsl-diu-fb.c:575:44: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:578:44: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int [usertype] *reg 
@@     got restricted __be32 [noderef] __iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:578:44: sparse:     expected unsigned int 
[usertype] *reg
   drivers/video/fbdev/fsl-diu-fb.c:578:44: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:583:29: sparse: sparse: restricted __be32 
degrades to integer
   drivers/video/fbdev/fsl-diu-fb.c:589:44: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int [usertype] *reg 
@@     got restricted __be32 [noderef] __iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:589:44: sparse:     expected unsigned int 
[usertype] *reg
   drivers/video/fbdev/fsl-diu-fb.c:589:44: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:594:29: sparse: sparse: restricted __be32 
degrades to integer
   drivers/video/fbdev/fsl-diu-fb.c:600:44: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int [usertype] *reg 
@@     got restricted __be32 [noderef] __iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:600:44: sparse:     expected unsigned int 
[usertype] *reg
   drivers/video/fbdev/fsl-diu-fb.c:600:44: sparse:     got restricted __be32 
[noderef] __iomem *
>> drivers/video/fbdev/fsl-diu-fb.c:612: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/video/fbdev/fsl-diu-fb.c:612:19: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:612:19: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:621: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/video/fbdev/fsl-diu-fb.c:621:19: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:621:19: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:829: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/video/fbdev/fsl-diu-fb.c:829:19: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:829:19: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:831: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/video/fbdev/fsl-diu-fb.c:831:19: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:831:19: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:832: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/video/fbdev/fsl-diu-fb.c:832:19: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:832:19: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:839: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/video/fbdev/fsl-diu-fb.c:839:19: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:839:19: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:845: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/video/fbdev/fsl-diu-fb.c:845:19: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:845:19: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:861: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/video/fbdev/fsl-diu-fb.c:861:19: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:861:19: sparse:     got restricted __be32 
[noderef] __iomem *
>> drivers/video/fbdev/fsl-diu-fb.c:879:27: sparse: sparse: incorrect type in 
>> assignment (different address spaces) @@     expected char [noderef] __iomem 
>> *screen_base @@     got void *[assigned] p @@
>> drivers/video/fbdev/fsl-diu-fb.c:879:27: sparse:     expected char [noderef] 
>> __iomem *screen_base
   drivers/video/fbdev/fsl-diu-fb.c:879:27: sparse:     got void *[assigned] p
>> drivers/video/fbdev/fsl-diu-fb.c:880:49: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected void volatile *address 
>> @@     got char [noderef] __iomem *screen_base @@
   drivers/video/fbdev/fsl-diu-fb.c:880:49: sparse:     expected void volatile 
*address
>> drivers/video/fbdev/fsl-diu-fb.c:880:49: sparse:     got char [noderef] 
>> __iomem *screen_base
>> drivers/video/fbdev/fsl-diu-fb.c:890:23: sparse: sparse: incorrect type in 
>> initializer (different address spaces) @@     expected void *p @@     got 
>> char [noderef] __iomem *screen_base @@
   drivers/video/fbdev/fsl-diu-fb.c:890:23: sparse:     expected void *p
   drivers/video/fbdev/fsl-diu-fb.c:890:23: sparse:     got char [noderef] 
__iomem *screen_base
   drivers/video/fbdev/fsl-diu-fb.c:959:24: sparse: sparse: incorrect type in 
return expression (different base types) @@     expected unsigned int @@     
got restricted __le32 [usertype] @@
   drivers/video/fbdev/fsl-diu-fb.c:959:24: sparse:     expected unsigned int
   drivers/video/fbdev/fsl-diu-fb.c:959:24: sparse:     got restricted __le32 
[usertype]
   drivers/video/fbdev/fsl-diu-fb.c:962:24: sparse: sparse: incorrect type in 
return expression (different base types) @@     expected unsigned int @@     
got restricted __le32 [usertype] @@
   drivers/video/fbdev/fsl-diu-fb.c:962:24: sparse:     expected unsigned int
   drivers/video/fbdev/fsl-diu-fb.c:962:24: sparse:     got restricted __le32 
[usertype]
   drivers/video/fbdev/fsl-diu-fb.c:965:24: sparse: sparse: incorrect type in 
return expression (different base types) @@     expected unsigned int @@     
got restricted __le32 [usertype] @@
   drivers/video/fbdev/fsl-diu-fb.c:965:24: sparse:     expected unsigned int
   drivers/video/fbdev/fsl-diu-fb.c:965:24: sparse:     got restricted __le32 
[usertype]
   drivers/video/fbdev/fsl-diu-fb.c:1051: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/video/fbdev/fsl-diu-fb.c:1051:27: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:1051:27: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:1112: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/video/fbdev/fsl-diu-fb.c:1112:27: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:1112:27: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:1114: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/video/fbdev/fsl-diu-fb.c:1114:27: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:1114:27: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:1154:29: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __be32 [usertype] 
pix_fmt @@     got unsigned int @@
   drivers/video/fbdev/fsl-diu-fb.c:1154:29: sparse:     expected restricted 
__be32 [usertype] pix_fmt
   drivers/video/fbdev/fsl-diu-fb.c:1154:29: sparse:     got unsigned int
   drivers/video/fbdev/fsl-diu-fb.c:1157:29: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __be32 [usertype] 
pix_fmt @@     got unsigned int @@
   drivers/video/fbdev/fsl-diu-fb.c:1157:29: sparse:     expected restricted 
__be32 [usertype] pix_fmt
   drivers/video/fbdev/fsl-diu-fb.c:1157:29: sparse:     got unsigned int
   drivers/video/fbdev/fsl-diu-fb.c:1160:32: sparse: sparse: restricted __le32 
degrades to integer
   drivers/video/fbdev/fsl-diu-fb.c:1160:30: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 [usertype] 
src_size_g_alpha @@     got unsigned int @@
   drivers/video/fbdev/fsl-diu-fb.c:1160:30: sparse:     expected restricted 
__le32 [usertype] src_size_g_alpha
   drivers/video/fbdev/fsl-diu-fb.c:1160:30: sparse:     got unsigned int
   drivers/video/fbdev/fsl-diu-fb.c:1294:29: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __be32 [usertype] 
pix_fmt @@     got unsigned int [addressable] [usertype] pix_fmt @@
   drivers/video/fbdev/fsl-diu-fb.c:1294:29: sparse:     expected restricted 
__be32 [usertype] pix_fmt
   drivers/video/fbdev/fsl-diu-fb.c:1294:29: sparse:     got unsigned int 
[addressable] [usertype] pix_fmt
   drivers/video/fbdev/fsl-diu-fb.c:1302:25: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned int [addressable] 
[usertype] pix_fmt @@     got restricted __be32 [usertype] pix_fmt @@
   drivers/video/fbdev/fsl-diu-fb.c:1302:25: sparse:     expected unsigned int 
[addressable] [usertype] pix_fmt
   drivers/video/fbdev/fsl-diu-fb.c:1302:25: sparse:     got restricted __be32 
[usertype] pix_fmt
   drivers/video/fbdev/fsl-diu-fb.c:1329:43: sparse: sparse: restricted __le32 
degrades to integer
   drivers/video/fbdev/fsl-diu-fb.c:1329:38: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 [usertype] 
src_size_g_alpha @@     got unsigned int @@
   drivers/video/fbdev/fsl-diu-fb.c:1329:38: sparse:     expected restricted 
__le32 [usertype] src_size_g_alpha
   drivers/video/fbdev/fsl-diu-fb.c:1329:38: sparse:     got unsigned int
   drivers/video/fbdev/fsl-diu-fb.c:1445:39: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int volatile 
[noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] 
__iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:1445:39: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:1445:39: sparse:     got restricted __be32 
[noderef] __iomem *
>> drivers/video/fbdev/fsl-diu-fb.c:1582:34: sparse: sparse: incorrect type in 
>> initializer (different address spaces) @@     expected struct diu [noderef] 
>> __iomem *hw @@     got void *dev_id @@
>> drivers/video/fbdev/fsl-diu-fb.c:1582:34: sparse:     expected struct diu 
>> [noderef] __iomem *hw
   drivers/video/fbdev/fsl-diu-fb.c:1582:34: sparse:     got void *dev_id
>> drivers/video/fbdev/fsl-diu-fb.c:1583:36: 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/video/fbdev/fsl-diu-fb.c:1583:36: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:1583:36: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:1588: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/video/fbdev/fsl-diu-fb.c:1588:35: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:1588:35: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:1590: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/video/fbdev/fsl-diu-fb.c:1590:35: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:1590:35: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:1763:32: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __be32 [usertype] 
pix_fmt @@     got unsigned int @@
   drivers/video/fbdev/fsl-diu-fb.c:1763:32: sparse:     expected restricted 
__be32 [usertype] pix_fmt
   drivers/video/fbdev/fsl-diu-fb.c:1763:32: sparse:     got unsigned int
   drivers/video/fbdev/fsl-diu-fb.c:1775:26: 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/video/fbdev/fsl-diu-fb.c:1775:26: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:1775:26: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:1776:46: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int volatile 
[noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] 
__iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:1776:46: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:1776:46: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:1778:38: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int volatile 
[noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] 
__iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:1778:38: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:1778:38: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:1779:38: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int volatile 
[noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] 
__iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:1779:38: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:1779:38: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:1785:23: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int volatile 
[noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] 
__iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:1785:23: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:1785:23: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:1786:22: 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/video/fbdev/fsl-diu-fb.c:1786:22: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:1786:22: sparse:     got restricted __be32 
[noderef] __iomem *
>> drivers/video/fbdev/fsl-diu-fb.c:1789:31: sparse: sparse: incorrect type in 
>> argument 5 (different address spaces) @@     expected void *dev @@     got 
>> struct diu [noderef] __iomem *diu_reg @@
   drivers/video/fbdev/fsl-diu-fb.c:1789:31: sparse:     expected void *dev
>> drivers/video/fbdev/fsl-diu-fb.c:1789:31: sparse:     got struct diu 
>> [noderef] __iomem *diu_reg
>> drivers/video/fbdev/fsl-diu-fb.c:1799:49: sparse: sparse: incorrect type in 
>> argument 2 (different address spaces) @@     expected void * @@     got 
>> struct diu [noderef] __iomem *diu_reg @@
   drivers/video/fbdev/fsl-diu-fb.c:1799:49: sparse:     expected void *
   drivers/video/fbdev/fsl-diu-fb.c:1799:49: sparse:     got struct diu 
[noderef] __iomem *diu_reg
   drivers/video/fbdev/fsl-diu-fb.c:1835:33: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void * @@     got struct 
diu [noderef] __iomem *diu_reg @@
   drivers/video/fbdev/fsl-diu-fb.c:1835:33: sparse:     expected void *
   drivers/video/fbdev/fsl-diu-fb.c:1835:33: sparse:     got struct diu 
[noderef] __iomem *diu_reg
   drivers/video/fbdev/fsl-diu-fb.c:513:29: sparse: sparse: dereference of 
noderef expression
   drivers/video/fbdev/fsl-diu-fb.c:524:29: sparse: sparse: dereference of 
noderef expression
   drivers/video/fbdev/fsl-diu-fb.c:536:29: sparse: sparse: dereference of 
noderef expression
   drivers/video/fbdev/fsl-diu-fb.c:544:29: sparse: sparse: dereference of 
noderef expression
   drivers/video/fbdev/fsl-diu-fb.c:583:29: sparse: sparse: dereference of 
noderef expression
   drivers/video/fbdev/fsl-diu-fb.c:594:29: sparse: sparse: dereference of 
noderef expression
   drivers/video/fbdev/fsl-diu-fb.c:1392:9: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int volatile 
[noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] 
__iomem * @@
   drivers/video/fbdev/fsl-diu-fb.c:1392:9: sparse:     expected unsigned int 
volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:1392:9: sparse:     got restricted __be32 
[noderef] __iomem *
   drivers/video/fbdev/fsl-diu-fb.c:1392: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/video/fbdev/fsl-diu-fb.c:1392:9: sparse:     expected unsigned int 
const volatile [noderef] [usertype] __iomem *addr
   drivers/video/fbdev/fsl-diu-fb.c:1392:9: sparse:     got restricted __be32 
[noderef] __iomem *
--
>> drivers/net/ethernet/freescale/fsl_pq_mdio.c:214:41: sparse: sparse: cast 
>> removes address space '__iomem' of expression
>> drivers/net/ethernet/freescale/fsl_pq_mdio.c:214:41: sparse: sparse: 
>> incorrect type in argument 1 (different address spaces) @@     expected void 
>> [noderef] __iomem *p @@     got struct gfar * @@
>> drivers/net/ethernet/freescale/fsl_pq_mdio.c:214:41: sparse:     expected 
>> void [noderef] __iomem *p
   drivers/net/ethernet/freescale/fsl_pq_mdio.c:214:41: sparse:     got struct 
gfar *
   drivers/net/ethernet/freescale/fsl_pq_mdio.c:396:22: sparse: sparse: cast 
removes address space '__iomem' of expression
   drivers/net/ethernet/freescale/fsl_pq_mdio.c:396:35: sparse: sparse: 
incompatible types in comparison expression (different address spaces):
   drivers/net/ethernet/freescale/fsl_pq_mdio.c:396:35: sparse:    void *
>> drivers/net/ethernet/freescale/fsl_pq_mdio.c:396:35: sparse:    void 
>> [noderef] __iomem *
   drivers/net/ethernet/freescale/fsl_pq_mdio.c:397:25: sparse: sparse: 
subtraction of different types can't work (different address spaces)

vim +32 arch/powerpc/sysdev/fsl_rcpm.c

d17799f9c10e283 chenhui zhao 2015-11-20   26  
d17799f9c10e283 chenhui zhao 2015-11-20   27  static void rcpm_v1_irq_mask(int 
cpu)
d17799f9c10e283 chenhui zhao 2015-11-20   28  {
d17799f9c10e283 chenhui zhao 2015-11-20   29    int hw_cpu = 
get_hard_smp_processor_id(cpu);
d17799f9c10e283 chenhui zhao 2015-11-20   30    unsigned int mask = 1 << hw_cpu;
d17799f9c10e283 chenhui zhao 2015-11-20   31  
d17799f9c10e283 chenhui zhao 2015-11-20  @32    
setbits32(&rcpm_v1_regs->cpmimr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   33    
setbits32(&rcpm_v1_regs->cpmcimr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   34    
setbits32(&rcpm_v1_regs->cpmmcmr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   35    
setbits32(&rcpm_v1_regs->cpmnmimr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   36  }
d17799f9c10e283 chenhui zhao 2015-11-20   37  
d17799f9c10e283 chenhui zhao 2015-11-20   38  static void rcpm_v2_irq_mask(int 
cpu)
d17799f9c10e283 chenhui zhao 2015-11-20   39  {
d17799f9c10e283 chenhui zhao 2015-11-20   40    int hw_cpu = 
get_hard_smp_processor_id(cpu);
d17799f9c10e283 chenhui zhao 2015-11-20   41    unsigned int mask = 1 << hw_cpu;
d17799f9c10e283 chenhui zhao 2015-11-20   42  
d17799f9c10e283 chenhui zhao 2015-11-20   43    
setbits32(&rcpm_v2_regs->tpmimr0, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   44    
setbits32(&rcpm_v2_regs->tpmcimr0, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   45    
setbits32(&rcpm_v2_regs->tpmmcmr0, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   46    
setbits32(&rcpm_v2_regs->tpmnmimr0, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   47  }
d17799f9c10e283 chenhui zhao 2015-11-20   48  
d17799f9c10e283 chenhui zhao 2015-11-20   49  static void 
rcpm_v1_irq_unmask(int cpu)
d17799f9c10e283 chenhui zhao 2015-11-20   50  {
d17799f9c10e283 chenhui zhao 2015-11-20   51    int hw_cpu = 
get_hard_smp_processor_id(cpu);
d17799f9c10e283 chenhui zhao 2015-11-20   52    unsigned int mask = 1 << hw_cpu;
d17799f9c10e283 chenhui zhao 2015-11-20   53  
d17799f9c10e283 chenhui zhao 2015-11-20   54    
clrbits32(&rcpm_v1_regs->cpmimr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   55    
clrbits32(&rcpm_v1_regs->cpmcimr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   56    
clrbits32(&rcpm_v1_regs->cpmmcmr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   57    
clrbits32(&rcpm_v1_regs->cpmnmimr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   58  }
d17799f9c10e283 chenhui zhao 2015-11-20   59  
d17799f9c10e283 chenhui zhao 2015-11-20   60  static void 
rcpm_v2_irq_unmask(int cpu)
d17799f9c10e283 chenhui zhao 2015-11-20   61  {
d17799f9c10e283 chenhui zhao 2015-11-20   62    int hw_cpu = 
get_hard_smp_processor_id(cpu);
d17799f9c10e283 chenhui zhao 2015-11-20   63    unsigned int mask = 1 << hw_cpu;
d17799f9c10e283 chenhui zhao 2015-11-20   64  
d17799f9c10e283 chenhui zhao 2015-11-20   65    
clrbits32(&rcpm_v2_regs->tpmimr0, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   66    
clrbits32(&rcpm_v2_regs->tpmcimr0, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   67    
clrbits32(&rcpm_v2_regs->tpmmcmr0, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   68    
clrbits32(&rcpm_v2_regs->tpmnmimr0, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   69  }
d17799f9c10e283 chenhui zhao 2015-11-20   70  
d17799f9c10e283 chenhui zhao 2015-11-20   71  static void 
rcpm_v1_set_ip_power(bool enable, u32 mask)
d17799f9c10e283 chenhui zhao 2015-11-20   72  {
d17799f9c10e283 chenhui zhao 2015-11-20   73    if (enable)
d17799f9c10e283 chenhui zhao 2015-11-20   74            
setbits32(&rcpm_v1_regs->ippdexpcr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   75    else
d17799f9c10e283 chenhui zhao 2015-11-20   76            
clrbits32(&rcpm_v1_regs->ippdexpcr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   77  }
d17799f9c10e283 chenhui zhao 2015-11-20   78  
d17799f9c10e283 chenhui zhao 2015-11-20   79  static void 
rcpm_v2_set_ip_power(bool enable, u32 mask)
d17799f9c10e283 chenhui zhao 2015-11-20   80  {
d17799f9c10e283 chenhui zhao 2015-11-20   81    if (enable)
d17799f9c10e283 chenhui zhao 2015-11-20   82            
setbits32(&rcpm_v2_regs->ippdexpcr[0], mask);
d17799f9c10e283 chenhui zhao 2015-11-20   83    else
d17799f9c10e283 chenhui zhao 2015-11-20   84            
clrbits32(&rcpm_v2_regs->ippdexpcr[0], mask);
d17799f9c10e283 chenhui zhao 2015-11-20   85  }
d17799f9c10e283 chenhui zhao 2015-11-20   86  
d17799f9c10e283 chenhui zhao 2015-11-20   87  static void 
rcpm_v1_cpu_enter_state(int cpu, int state)
d17799f9c10e283 chenhui zhao 2015-11-20   88  {
d17799f9c10e283 chenhui zhao 2015-11-20   89    int hw_cpu = 
get_hard_smp_processor_id(cpu);
d17799f9c10e283 chenhui zhao 2015-11-20   90    unsigned int mask = 1 << hw_cpu;
d17799f9c10e283 chenhui zhao 2015-11-20   91  
d17799f9c10e283 chenhui zhao 2015-11-20   92    switch (state) {
d17799f9c10e283 chenhui zhao 2015-11-20   93    case E500_PM_PH10:
d17799f9c10e283 chenhui zhao 2015-11-20   94            
setbits32(&rcpm_v1_regs->cdozcr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   95            break;
d17799f9c10e283 chenhui zhao 2015-11-20   96    case E500_PM_PH15:
d17799f9c10e283 chenhui zhao 2015-11-20   97            
setbits32(&rcpm_v1_regs->cnapcr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20   98            break;
d17799f9c10e283 chenhui zhao 2015-11-20   99    default:
d17799f9c10e283 chenhui zhao 2015-11-20  100            pr_warn("Unknown cpu PM 
state (%d)\n", state);
d17799f9c10e283 chenhui zhao 2015-11-20  101            break;
d17799f9c10e283 chenhui zhao 2015-11-20  102    }
d17799f9c10e283 chenhui zhao 2015-11-20  103  }
d17799f9c10e283 chenhui zhao 2015-11-20  104  
d17799f9c10e283 chenhui zhao 2015-11-20  105  static void 
rcpm_v2_cpu_enter_state(int cpu, int state)
d17799f9c10e283 chenhui zhao 2015-11-20  106  {
d17799f9c10e283 chenhui zhao 2015-11-20  107    int hw_cpu = 
get_hard_smp_processor_id(cpu);
d17799f9c10e283 chenhui zhao 2015-11-20  108    u32 mask = 1 << 
cpu_core_index_of_thread(cpu);
d17799f9c10e283 chenhui zhao 2015-11-20  109  
d17799f9c10e283 chenhui zhao 2015-11-20  110    switch (state) {
d17799f9c10e283 chenhui zhao 2015-11-20  111    case E500_PM_PH10:
d17799f9c10e283 chenhui zhao 2015-11-20  112            /* one bit corresponds 
to one thread for PH10 of 6500 */
d17799f9c10e283 chenhui zhao 2015-11-20  113            
setbits32(&rcpm_v2_regs->tph10setr0, 1 << hw_cpu);
d17799f9c10e283 chenhui zhao 2015-11-20  114            break;
d17799f9c10e283 chenhui zhao 2015-11-20  115    case E500_PM_PH15:
d17799f9c10e283 chenhui zhao 2015-11-20  116            
setbits32(&rcpm_v2_regs->pcph15setr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20  117            break;
d17799f9c10e283 chenhui zhao 2015-11-20  118    case E500_PM_PH20:
d17799f9c10e283 chenhui zhao 2015-11-20  119            
setbits32(&rcpm_v2_regs->pcph20setr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20  120            break;
d17799f9c10e283 chenhui zhao 2015-11-20  121    case E500_PM_PH30:
d17799f9c10e283 chenhui zhao 2015-11-20  122            
setbits32(&rcpm_v2_regs->pcph30setr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20  123            break;
d17799f9c10e283 chenhui zhao 2015-11-20  124    default:
d17799f9c10e283 chenhui zhao 2015-11-20  125            pr_warn("Unknown cpu PM 
state (%d)\n", state);
d17799f9c10e283 chenhui zhao 2015-11-20  126    }
d17799f9c10e283 chenhui zhao 2015-11-20  127  }
d17799f9c10e283 chenhui zhao 2015-11-20  128  
d17799f9c10e283 chenhui zhao 2015-11-20  129  static void rcpm_v1_cpu_die(int 
cpu)
d17799f9c10e283 chenhui zhao 2015-11-20  130  {
d17799f9c10e283 chenhui zhao 2015-11-20  131    rcpm_v1_cpu_enter_state(cpu, 
E500_PM_PH15);
d17799f9c10e283 chenhui zhao 2015-11-20  132  }
d17799f9c10e283 chenhui zhao 2015-11-20  133  
d17799f9c10e283 chenhui zhao 2015-11-20  134  #ifdef CONFIG_PPC64
d17799f9c10e283 chenhui zhao 2015-11-20  135  static void 
qoriq_disable_thread(int cpu)
d17799f9c10e283 chenhui zhao 2015-11-20  136  {
d17799f9c10e283 chenhui zhao 2015-11-20  137    int thread = 
cpu_thread_in_core(cpu);
d17799f9c10e283 chenhui zhao 2015-11-20  138  
d17799f9c10e283 chenhui zhao 2015-11-20  139    book3e_stop_thread(thread);
d17799f9c10e283 chenhui zhao 2015-11-20  140  }
d17799f9c10e283 chenhui zhao 2015-11-20  141  #endif
d17799f9c10e283 chenhui zhao 2015-11-20  142  
d17799f9c10e283 chenhui zhao 2015-11-20  143  static void rcpm_v2_cpu_die(int 
cpu)
d17799f9c10e283 chenhui zhao 2015-11-20  144  {
d17799f9c10e283 chenhui zhao 2015-11-20  145  #ifdef CONFIG_PPC64
d17799f9c10e283 chenhui zhao 2015-11-20  146    int primary;
d17799f9c10e283 chenhui zhao 2015-11-20  147  
d17799f9c10e283 chenhui zhao 2015-11-20  148    if (threads_per_core == 2) {
d17799f9c10e283 chenhui zhao 2015-11-20  149            primary = 
cpu_first_thread_sibling(cpu);
d17799f9c10e283 chenhui zhao 2015-11-20  150            if 
(cpu_is_offline(primary) && cpu_is_offline(primary + 1)) {
d17799f9c10e283 chenhui zhao 2015-11-20  151                    /* if both 
threads are offline, put the cpu in PH20 */
d17799f9c10e283 chenhui zhao 2015-11-20  152                    
rcpm_v2_cpu_enter_state(cpu, E500_PM_PH20);
d17799f9c10e283 chenhui zhao 2015-11-20  153            } else {
d17799f9c10e283 chenhui zhao 2015-11-20  154                    /* if only one 
thread is offline, disable the thread */
d17799f9c10e283 chenhui zhao 2015-11-20  155                    
qoriq_disable_thread(cpu);
d17799f9c10e283 chenhui zhao 2015-11-20  156            }
d17799f9c10e283 chenhui zhao 2015-11-20  157    }
d17799f9c10e283 chenhui zhao 2015-11-20  158  #endif
d17799f9c10e283 chenhui zhao 2015-11-20  159  
d17799f9c10e283 chenhui zhao 2015-11-20  160    if (threads_per_core == 1)
d17799f9c10e283 chenhui zhao 2015-11-20  161            
rcpm_v2_cpu_enter_state(cpu, E500_PM_PH20);
d17799f9c10e283 chenhui zhao 2015-11-20  162  }
d17799f9c10e283 chenhui zhao 2015-11-20  163  
d17799f9c10e283 chenhui zhao 2015-11-20  164  static void 
rcpm_v1_cpu_exit_state(int cpu, int state)
d17799f9c10e283 chenhui zhao 2015-11-20  165  {
d17799f9c10e283 chenhui zhao 2015-11-20  166    int hw_cpu = 
get_hard_smp_processor_id(cpu);
d17799f9c10e283 chenhui zhao 2015-11-20  167    unsigned int mask = 1 << hw_cpu;
d17799f9c10e283 chenhui zhao 2015-11-20  168  
d17799f9c10e283 chenhui zhao 2015-11-20  169    switch (state) {
d17799f9c10e283 chenhui zhao 2015-11-20  170    case E500_PM_PH10:
d17799f9c10e283 chenhui zhao 2015-11-20  171            
clrbits32(&rcpm_v1_regs->cdozcr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20  172            break;
d17799f9c10e283 chenhui zhao 2015-11-20  173    case E500_PM_PH15:
d17799f9c10e283 chenhui zhao 2015-11-20  174            
clrbits32(&rcpm_v1_regs->cnapcr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20  175            break;
d17799f9c10e283 chenhui zhao 2015-11-20  176    default:
d17799f9c10e283 chenhui zhao 2015-11-20  177            pr_warn("Unknown cpu PM 
state (%d)\n", state);
d17799f9c10e283 chenhui zhao 2015-11-20  178            break;
d17799f9c10e283 chenhui zhao 2015-11-20  179    }
d17799f9c10e283 chenhui zhao 2015-11-20  180  }
d17799f9c10e283 chenhui zhao 2015-11-20  181  
d17799f9c10e283 chenhui zhao 2015-11-20  182  static void 
rcpm_v1_cpu_up_prepare(int cpu)
d17799f9c10e283 chenhui zhao 2015-11-20  183  {
d17799f9c10e283 chenhui zhao 2015-11-20  184    rcpm_v1_cpu_exit_state(cpu, 
E500_PM_PH15);
d17799f9c10e283 chenhui zhao 2015-11-20  185    rcpm_v1_irq_unmask(cpu);
d17799f9c10e283 chenhui zhao 2015-11-20  186  }
d17799f9c10e283 chenhui zhao 2015-11-20  187  
d17799f9c10e283 chenhui zhao 2015-11-20  188  static void 
rcpm_v2_cpu_exit_state(int cpu, int state)
d17799f9c10e283 chenhui zhao 2015-11-20  189  {
d17799f9c10e283 chenhui zhao 2015-11-20  190    int hw_cpu = 
get_hard_smp_processor_id(cpu);
d17799f9c10e283 chenhui zhao 2015-11-20  191    u32 mask = 1 << 
cpu_core_index_of_thread(cpu);
d17799f9c10e283 chenhui zhao 2015-11-20  192  
d17799f9c10e283 chenhui zhao 2015-11-20  193    switch (state) {
d17799f9c10e283 chenhui zhao 2015-11-20  194    case E500_PM_PH10:
d17799f9c10e283 chenhui zhao 2015-11-20  195            
setbits32(&rcpm_v2_regs->tph10clrr0, 1 << hw_cpu);
d17799f9c10e283 chenhui zhao 2015-11-20  196            break;
d17799f9c10e283 chenhui zhao 2015-11-20  197    case E500_PM_PH15:
d17799f9c10e283 chenhui zhao 2015-11-20  198            
setbits32(&rcpm_v2_regs->pcph15clrr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20  199            break;
d17799f9c10e283 chenhui zhao 2015-11-20  200    case E500_PM_PH20:
d17799f9c10e283 chenhui zhao 2015-11-20 @201            
setbits32(&rcpm_v2_regs->pcph20clrr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20  202            break;
d17799f9c10e283 chenhui zhao 2015-11-20  203    case E500_PM_PH30:
d17799f9c10e283 chenhui zhao 2015-11-20 @204            
setbits32(&rcpm_v2_regs->pcph30clrr, mask);
d17799f9c10e283 chenhui zhao 2015-11-20  205            break;
d17799f9c10e283 chenhui zhao 2015-11-20  206    default:
d17799f9c10e283 chenhui zhao 2015-11-20  207            pr_warn("Unknown cpu PM 
state (%d)\n", state);
d17799f9c10e283 chenhui zhao 2015-11-20  208    }
d17799f9c10e283 chenhui zhao 2015-11-20  209  }
d17799f9c10e283 chenhui zhao 2015-11-20  210  
d17799f9c10e283 chenhui zhao 2015-11-20  211  static void 
rcpm_v2_cpu_up_prepare(int cpu)
d17799f9c10e283 chenhui zhao 2015-11-20  212  {
d17799f9c10e283 chenhui zhao 2015-11-20  213    rcpm_v2_cpu_exit_state(cpu, 
E500_PM_PH20);
d17799f9c10e283 chenhui zhao 2015-11-20  214    rcpm_v2_irq_unmask(cpu);
d17799f9c10e283 chenhui zhao 2015-11-20  215  }
d17799f9c10e283 chenhui zhao 2015-11-20  216  
d17799f9c10e283 chenhui zhao 2015-11-20  217  static int 
rcpm_v1_plat_enter_state(int state)
d17799f9c10e283 chenhui zhao 2015-11-20  218  {
d17799f9c10e283 chenhui zhao 2015-11-20 @219    u32 *pmcsr_reg = 
&rcpm_v1_regs->powmgtcsr;
d17799f9c10e283 chenhui zhao 2015-11-20  220    int ret = 0;
d17799f9c10e283 chenhui zhao 2015-11-20  221    int result;
d17799f9c10e283 chenhui zhao 2015-11-20  222  
d17799f9c10e283 chenhui zhao 2015-11-20  223    switch (state) {
d17799f9c10e283 chenhui zhao 2015-11-20  224    case PLAT_PM_SLEEP:
d17799f9c10e283 chenhui zhao 2015-11-20 @225            setbits32(pmcsr_reg, 
RCPM_POWMGTCSR_SLP);
d17799f9c10e283 chenhui zhao 2015-11-20  226  
d17799f9c10e283 chenhui zhao 2015-11-20  227            /* Upon resume, wait 
for RCPM_POWMGTCSR_SLP bit to be clear. */
d17799f9c10e283 chenhui zhao 2015-11-20  228            result = 
spin_event_timeout(
d17799f9c10e283 chenhui zhao 2015-11-20  229              !(in_be32(pmcsr_reg) 
& RCPM_POWMGTCSR_SLP), 10000, 10);
d17799f9c10e283 chenhui zhao 2015-11-20  230            if (!result) {
d17799f9c10e283 chenhui zhao 2015-11-20  231                    pr_err("timeout 
waiting for SLP bit to be cleared\n");
d17799f9c10e283 chenhui zhao 2015-11-20  232                    ret = 
-ETIMEDOUT;
d17799f9c10e283 chenhui zhao 2015-11-20  233            }
d17799f9c10e283 chenhui zhao 2015-11-20  234            break;
d17799f9c10e283 chenhui zhao 2015-11-20  235    default:
d17799f9c10e283 chenhui zhao 2015-11-20  236            pr_warn("Unknown 
platform PM state (%d)", state);
d17799f9c10e283 chenhui zhao 2015-11-20  237            ret = -EINVAL;
d17799f9c10e283 chenhui zhao 2015-11-20  238    }
d17799f9c10e283 chenhui zhao 2015-11-20  239  
d17799f9c10e283 chenhui zhao 2015-11-20  240    return ret;
d17799f9c10e283 chenhui zhao 2015-11-20  241  }
d17799f9c10e283 chenhui zhao 2015-11-20  242  

:::::: The code at line 32 was first introduced by commit
:::::: d17799f9c10e283cccd4d598d3416e6fac336ab9 powerpc/rcpm: add RCPM driver

:::::: TO: chenhui zhao <chenhui.z...@freescale.com>
:::::: CC: Scott Wood <o...@buserror.net>

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

Attachment: .config.gz
Description: application/gzip

Reply via email to