tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 34d4ddd359dbcdf6c5fb3f85a179243d7a1cb7f8 commit: 8f28ca6bd8211214faf717677bbffe375c2a6072 iomap: constify ioreadX() iomem argument (as in generic implementation) date: 4 weeks ago config: powerpc64-randconfig-s032-20200909 (attached as .config) compiler: powerpc-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.2-191-g10164920-dirty git checkout 8f28ca6bd8211214faf717677bbffe375c2a6072 # 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 <lkp@xxxxxxxxx> sparse warnings: (new ones prefixed by >>) arch/powerpc/platforms/44x/ppc476.c:237:17: sparse: sparse: cast removes address space '__iomem' of expression >> arch/powerpc/platforms/44x/ppc476.c:242:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned char [usertype] * @@ >> arch/powerpc/platforms/44x/ppc476.c:242:34: sparse: expected void const [noderef] __iomem * arch/powerpc/platforms/44x/ppc476.c:242:34: sparse: got unsigned char [usertype] * arch/powerpc/platforms/44x/ppc476.c:244:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char [usertype] *[assigned] fpga @@ arch/powerpc/platforms/44x/ppc476.c:244:17: sparse: expected void volatile [noderef] __iomem *addr arch/powerpc/platforms/44x/ppc476.c:244:17: sparse: got unsigned char [usertype] *[assigned] fpga -- drivers/dma/ppc4xx/adma.c:73:1: sparse: sparse: symbol 'ppc440spe_adma_chan_list' was not declared. Should it be static? drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:543:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] sg1l @@ got restricted __le32 [usertype] @@ drivers/dma/ppc4xx/adma.c:543:35: sparse: expected unsigned int [usertype] sg1l drivers/dma/ppc4xx/adma.c:543:35: sparse: got restricted __le32 [usertype] drivers/dma/ppc4xx/adma.c:544:35: sparse: sparse: invalid assignment: |= drivers/dma/ppc4xx/adma.c:544:35: sparse: left side has type unsigned int drivers/dma/ppc4xx/adma.c:544:35: sparse: right side has type restricted __le32 drivers/dma/ppc4xx/adma.c:590:23: sparse: sparse: invalid assignment: |= drivers/dma/ppc4xx/adma.c:590:23: sparse: left side has type unsigned int drivers/dma/ppc4xx/adma.c:590:23: sparse: right side has type restricted __le32 drivers/dma/ppc4xx/adma.c:629:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@ drivers/dma/ppc4xx/adma.c:629:23: sparse: expected unsigned int [usertype] drivers/dma/ppc4xx/adma.c:629:23: sparse: got restricted __le32 [usertype] drivers/dma/ppc4xx/adma.c:630:23: sparse: sparse: invalid assignment: |= drivers/dma/ppc4xx/adma.c:630:23: sparse: left side has type unsigned int drivers/dma/ppc4xx/adma.c:630:23: sparse: right side has type restricted __le32 drivers/dma/ppc4xx/adma.c:655:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] cnt @@ got restricted __le32 [usertype] @@ drivers/dma/ppc4xx/adma.c:655:34: sparse: expected unsigned int [usertype] cnt drivers/dma/ppc4xx/adma.c:655:34: sparse: got restricted __le32 [usertype] drivers/dma/ppc4xx/adma.c:688:38: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:688:38: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:688:38: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:689:38: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:689:38: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:689:38: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:690:38: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:690:38: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:690:38: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:691:39: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:691:39: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:691:39: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:738:69: sparse: sparse: Using plain integer as NULL pointer drivers/dma/ppc4xx/adma.c:1187:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct dma_regs *dma_reg @@ got struct dma_regs [noderef] __iomem *dma_reg @@ drivers/dma/ppc4xx/adma.c:1187:25: sparse: expected struct dma_regs *dma_reg drivers/dma/ppc4xx/adma.c:1187:25: sparse: got struct dma_regs [noderef] __iomem *dma_reg >> drivers/dma/ppc4xx/adma.c:1188:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ >> drivers/dma/ppc4xx/adma.c:1188:34: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1188:34: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1190:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct xor_regs *xor_reg @@ got struct xor_regs [noderef] __iomem *xor_reg @@ drivers/dma/ppc4xx/adma.c:1190:25: sparse: expected struct xor_regs *xor_reg drivers/dma/ppc4xx/adma.c:1190:25: sparse: got struct xor_regs [noderef] __iomem *xor_reg drivers/dma/ppc4xx/adma.c:1191:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1191:36: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1191:36: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1138:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct xor_regs *xor_reg @@ got struct xor_regs [noderef] __iomem *xor_reg @@ drivers/dma/ppc4xx/adma.c:1138:25: sparse: expected struct xor_regs *xor_reg drivers/dma/ppc4xx/adma.c:1138:25: sparse: got struct xor_regs [noderef] __iomem *xor_reg drivers/dma/ppc4xx/adma.c:1147:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1147:35: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1147:35: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1157:49: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1157:49: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1157:49: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1159:38: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1159:38: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1159:38: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:911:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct dma_regs *dma_reg @@ got struct dma_regs [noderef] __iomem *dma_reg @@ drivers/dma/ppc4xx/adma.c:911:25: sparse: expected struct dma_regs *dma_reg drivers/dma/ppc4xx/adma.c:911:25: sparse: got struct dma_regs [noderef] __iomem *dma_reg drivers/dma/ppc4xx/adma.c:912:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:912:40: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:912:40: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32 drivers/dma/ppc4xx/adma.c:974:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:974:32: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:974:32: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:979:40: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:979:40: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:979:40: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:984:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct xor_regs *xor_reg @@ got struct xor_regs [noderef] __iomem *xor_reg @@ drivers/dma/ppc4xx/adma.c:984:25: sparse: expected struct xor_regs *xor_reg drivers/dma/ppc4xx/adma.c:984:25: sparse: got struct xor_regs [noderef] __iomem *xor_reg drivers/dma/ppc4xx/adma.c:985:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:985:34: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:985:34: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:986:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:986:34: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:986:34: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:993:55: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:993:55: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:993:55: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:995:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:995:51: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:995:51: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:997:51: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:997:51: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:997:51: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:999:46: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:999:46: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:999:46: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1008:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1008:35: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1008:35: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1027:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct dma_regs *dma_reg @@ got struct dma_regs [noderef] __iomem *dma_reg @@ drivers/dma/ppc4xx/adma.c:1027:25: sparse: expected struct dma_regs *dma_reg drivers/dma/ppc4xx/adma.c:1027:25: sparse: got struct dma_regs [noderef] __iomem *dma_reg >> drivers/dma/ppc4xx/adma.c:1031:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned short * @@ drivers/dma/ppc4xx/adma.c:1031:31: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1031:31: sparse: got unsigned short * drivers/dma/ppc4xx/adma.c:1031:60: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned short * @@ drivers/dma/ppc4xx/adma.c:1031:60: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1031:60: sparse: got unsigned short * drivers/dma/ppc4xx/adma.c:1032:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned short * @@ drivers/dma/ppc4xx/adma.c:1032:31: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1032:31: sparse: got unsigned short * drivers/dma/ppc4xx/adma.c:1032:60: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned short * @@ drivers/dma/ppc4xx/adma.c:1032:60: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1032:60: sparse: got unsigned short * drivers/dma/ppc4xx/adma.c:1038:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct xor_regs *xor_reg @@ got struct xor_regs [noderef] __iomem *xor_reg @@ drivers/dma/ppc4xx/adma.c:1038:25: sparse: expected struct xor_regs *xor_reg drivers/dma/ppc4xx/adma.c:1038:25: sparse: got struct xor_regs [noderef] __iomem *xor_reg drivers/dma/ppc4xx/adma.c:1039:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1039:37: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1039:37: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1053:48: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct xor_regs *xor_reg @@ got struct xor_regs [noderef] __iomem *xor_reg @@ drivers/dma/ppc4xx/adma.c:1053:48: sparse: expected struct xor_regs *xor_reg drivers/dma/ppc4xx/adma.c:1053:48: sparse: got struct xor_regs [noderef] __iomem *xor_reg drivers/dma/ppc4xx/adma.c:1055:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1055:25: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1055:25: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1062:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1062:41: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1062:41: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1064:39: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1064:39: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1064:39: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1065:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1065:25: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1065:25: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1066:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1066:33: sparse: expected void const [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1066:33: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1067:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1067:22: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1067:22: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1080:48: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct dma_regs *dma_reg @@ got struct dma_regs [noderef] __iomem *dma_reg @@ drivers/dma/ppc4xx/adma.c:1080:48: sparse: expected struct dma_regs *dma_reg drivers/dma/ppc4xx/adma.c:1080:48: sparse: got struct dma_regs [noderef] __iomem *dma_reg drivers/dma/ppc4xx/adma.c:1090:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1090:26: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1090:26: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:1210:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct xor_regs *xor_reg @@ got struct xor_regs [noderef] __iomem *xor_reg @@ drivers/dma/ppc4xx/adma.c:1210:25: sparse: expected struct xor_regs *xor_reg drivers/dma/ppc4xx/adma.c:1210:25: sparse: got struct xor_regs [noderef] __iomem *xor_reg drivers/dma/ppc4xx/adma.c:1214:30: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned int * @@ drivers/dma/ppc4xx/adma.c:1214:30: sparse: expected void [noderef] __iomem * drivers/dma/ppc4xx/adma.c:1214:30: sparse: got unsigned int * drivers/dma/ppc4xx/adma.c:2777:62: sparse: sparse: Using plain integer as NULL pointer drivers/dma/ppc4xx/adma.c:4094:14: sparse: sparse: too many warnings # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8f28ca6bd8211214faf717677bbffe375c2a6072 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 8f28ca6bd8211214faf717677bbffe375c2a6072 vim +242 arch/powerpc/platforms/44x/ppc476.c 228d55053397e6 arch/powerpc/platforms/44x/currituck.c Tony Breeds 2011-11-30 218 ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 219 static int board_rev = -1; ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 220 static int __init ppc47x_get_board_rev(void) ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 221 { 2a2c74b2efcb1a arch/powerpc/platforms/44x/ppc476.c Alistair Popple 2014-03-06 222 int reg; 2a2c74b2efcb1a arch/powerpc/platforms/44x/ppc476.c Alistair Popple 2014-03-06 223 u8 *fpga; 2a2c74b2efcb1a arch/powerpc/platforms/44x/ppc476.c Alistair Popple 2014-03-06 224 struct device_node *np = NULL; ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 225 2a2c74b2efcb1a arch/powerpc/platforms/44x/ppc476.c Alistair Popple 2014-03-06 226 if (of_machine_is_compatible("ibm,currituck")) { ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 227 np = of_find_compatible_node(NULL, NULL, "ibm,currituck-fpga"); 2a2c74b2efcb1a arch/powerpc/platforms/44x/ppc476.c Alistair Popple 2014-03-06 228 reg = 0; 2a2c74b2efcb1a arch/powerpc/platforms/44x/ppc476.c Alistair Popple 2014-03-06 229 } else if (of_machine_is_compatible("ibm,akebono")) { 2a2c74b2efcb1a arch/powerpc/platforms/44x/ppc476.c Alistair Popple 2014-03-06 230 np = of_find_compatible_node(NULL, NULL, "ibm,akebono-fpga"); 2a2c74b2efcb1a arch/powerpc/platforms/44x/ppc476.c Alistair Popple 2014-03-06 231 reg = 2; 2a2c74b2efcb1a arch/powerpc/platforms/44x/ppc476.c Alistair Popple 2014-03-06 232 } 2a2c74b2efcb1a arch/powerpc/platforms/44x/ppc476.c Alistair Popple 2014-03-06 233 ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 234 if (!np) ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 235 goto fail; ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 236 2a2c74b2efcb1a arch/powerpc/platforms/44x/ppc476.c Alistair Popple 2014-03-06 237 fpga = (u8 *) of_iomap(np, 0); ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 238 of_node_put(np); ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 239 if (!fpga) ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 240 goto fail; ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 241 2a2c74b2efcb1a arch/powerpc/platforms/44x/ppc476.c Alistair Popple 2014-03-06 @242 board_rev = ioread8(fpga + reg) & 0x03; ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 243 pr_info("%s: Found board revision %d\n", __func__, board_rev); ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 244 iounmap(fpga); ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 245 return 0; ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 246 ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 247 fail: ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 248 pr_info("%s: Unable to find board revision\n", __func__); ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 249 return 0; ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 250 } ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 251 machine_arch_initcall(ppc47x, ppc47x_get_board_rev); ab9a4183fddf23 arch/powerpc/platforms/44x/currituck.c Alistair Popple 2013-05-09 252 :::::: The code at line 242 was first introduced by commit :::::: 2a2c74b2efcb1a0ca3fdcb5fbb96ad8de6a29177 IBM Akebono: Add the Akebono platform :::::: TO: Alistair Popple <alistair@xxxxxxxxxxxx> :::::: CC: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip