lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202111110610.YCUMggYM-lkp@intel.com>
Date:   Thu, 11 Nov 2021 06:51:19 +0800
From:   kernel test robot <lkp@...el.com>
To:     Oliver O'Halloran <oohall@...il.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        Michael Ellerman <mpe@...erman.id.au>,
        Joel Stanley <joel@....id.au>
Subject: arch/powerpc/platforms/powernv/vas-window.c:91:13: sparse: sparse:
 incorrect type in assignment (different address spaces)

Hi Oliver,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   881007522c8fcc3785c75432dbb149ca1b78e106
commit: 3b70464aa78917e88c1d4bfc2100c344c0eda8e0 powerpc/powernv: Staticify functions without prototypes
date:   1 year, 3 months ago
config: powerpc64-randconfig-s031-20211015 (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 11.2.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.4-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3b70464aa78917e88c1d4bfc2100c344c0eda8e0
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 3b70464aa78917e88c1d4bfc2100c344c0eda8e0
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.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 <lkp@...el.com>


sparse warnings: (new ones prefixed by >>)
>> arch/powerpc/platforms/powernv/vas-window.c:91:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *map @@     got void [noderef] __iomem * @@
   arch/powerpc/platforms/powernv/vas-window.c:91:13: sparse:     expected void *map
   arch/powerpc/platforms/powernv/vas-window.c:91:13: sparse:     got void [noderef] __iomem *
   arch/powerpc/platforms/powernv/vas-window.c:116:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *map @@     got void [noderef] __iomem * @@
   arch/powerpc/platforms/powernv/vas-window.c:116:13: sparse:     expected void *map
   arch/powerpc/platforms/powernv/vas-window.c:116:13: sparse:     got void [noderef] __iomem *
>> arch/powerpc/platforms/powernv/vas-window.c:128:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void *addr @@
   arch/powerpc/platforms/powernv/vas-window.c:128:17: sparse:     expected void volatile [noderef] __iomem *addr
   arch/powerpc/platforms/powernv/vas-window.c:128:17: sparse:     got void *addr
   arch/powerpc/platforms/powernv/vas-window.c: note: in included file:
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long const volatile [noderef] [usertype] __iomem *addr @@     got void * @@
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse:     expected unsigned long long const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse:     got void *
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long const volatile [noderef] [usertype] __iomem *addr @@     got void * @@
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse:     expected unsigned long long const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse:     got void *
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long const volatile [noderef] [usertype] __iomem *addr @@     got void * @@
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse:     expected unsigned long long const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse:     got void *
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long const volatile [noderef] [usertype] __iomem *addr @@     got void * @@
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse:     expected unsigned long long const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse:     got void *
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long const volatile [noderef] [usertype] __iomem *addr @@     got void * @@
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse:     expected unsigned long long const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse:     got void *
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long const volatile [noderef] [usertype] __iomem *addr @@     got void * @@
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse:     expected unsigned long long const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:482:37: sparse:     got void *
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr
>> arch/powerpc/platforms/powernv/vas.h:476:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned long long volatile [noderef] [usertype] __iomem *addr @@     got void *[assigned] regptr @@
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     expected unsigned long long volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/powernv/vas.h:476:18: sparse:     got void *[assigned] regptr

vim +91 arch/powerpc/platforms/powernv/vas-window.c

180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   64  
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   65  /*
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   66   * Map the paste bus address of the given send window into kernel address
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   67   * space. Unlike MMIO regions (map_mmio_region() below), paste region must
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   68   * be mapped cache-able and is only applicable to send windows.
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   69   */
5239af679a0742 Sukadev Bhattiprolu 2017-08-28   70  static void *map_paste_region(struct vas_window *txwin)
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   71  {
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   72  	int len;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   73  	void *map;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   74  	char *name;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   75  	u64 start;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   76  
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   77  	name = kasprintf(GFP_KERNEL, "window-v%d-w%d", txwin->vinst->vas_id,
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   78  				txwin->winid);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   79  	if (!name)
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   80  		goto free_name;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   81  
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   82  	txwin->paste_addr_name = name;
dda44eb29c2357 Haren Myneni        2020-04-17   83  	vas_win_paste_addr(txwin, &start, &len);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   84  
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   85  	if (!request_mem_region(start, len, name)) {
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   86  		pr_devel("%s(): request_mem_region(0x%llx, %d) failed\n",
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   87  				__func__, start, len);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   88  		goto free_name;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   89  	}
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   90  
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  @91  	map = ioremap_cache(start, len);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   92  	if (!map) {
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   93  		pr_devel("%s(): ioremap_cache(0x%llx, %d) failed\n", __func__,
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   94  				start, len);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   95  		goto free_name;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   96  	}
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   97  
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   98  	pr_devel("Mapped paste addr 0x%llx to kaddr 0x%p\n", start, map);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28   99  	return map;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  100  
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  101  free_name:
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  102  	kfree(name);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  103  	return ERR_PTR(-ENOMEM);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  104  }
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  105  
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  106  static void *map_mmio_region(char *name, u64 start, int len)
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  107  {
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  108  	void *map;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  109  
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  110  	if (!request_mem_region(start, len, name)) {
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  111  		pr_devel("%s(): request_mem_region(0x%llx, %d) failed\n",
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  112  				__func__, start, len);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  113  		return NULL;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  114  	}
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  115  
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  116  	map = ioremap(start, len);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  117  	if (!map) {
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  118  		pr_devel("%s(): ioremap(0x%llx, %d) failed\n", __func__, start,
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  119  				len);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  120  		return NULL;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  121  	}
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  122  
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  123  	return map;
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  124  }
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  125  
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  126  static void unmap_region(void *addr, u64 start, int len)
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  127  {
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28 @128  	iounmap(addr);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  129  	release_mem_region((phys_addr_t)start, len);
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  130  }
180fe15a8299c1 Sukadev Bhattiprolu 2017-08-28  131  

:::::: The code at line 91 was first introduced by commit
:::::: 180fe15a8299c14f77347c5835c98c2446226ee6 powerpc/powernv/vas: Define helpers to access MMIO regions

:::::: TO: Sukadev Bhattiprolu <sukadev@...ux.vnet.ibm.com>
:::::: CC: Michael Ellerman <mpe@...erman.id.au>

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

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ