tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: dcf8e5633e2e69ad60b730ab5905608b756a032f commit: d803336abdbc1bfacdb32b2cf9f4fdbee072b8ee ARM: mm: kill unused runtime hook arch_iounmap() date: 9 weeks ago config: arm-randconfig-s052-20220830 compiler: arm-linux-gnueabi-gcc (GCC) 12.1.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-39-gce1a6720-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d803336abdbc1bfacdb32b2cf9f4fdbee072b8ee git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout d803336abdbc1bfacdb32b2cf9f4fdbee072b8ee # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm SHELL=/bin/bash drivers/gpu/drm/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) drivers/gpu/drm/ttm/ttm_bo_util.c:292:38: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *virtual @@ got void [noderef] __iomem * @@ drivers/gpu/drm/ttm/ttm_bo_util.c:292:38: sparse: expected void *virtual drivers/gpu/drm/ttm/ttm_bo_util.c:292:38: sparse: got void [noderef] __iomem * drivers/gpu/drm/ttm/ttm_bo_util.c:298:38: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *virtual @@ got void [noderef] __iomem * @@ drivers/gpu/drm/ttm/ttm_bo_util.c:298:38: sparse: expected void *virtual drivers/gpu/drm/ttm/ttm_bo_util.c:298:38: sparse: got void [noderef] __iomem * >> drivers/gpu/drm/ttm/ttm_bo_util.c:378:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *io_addr @@ got void *virtual @@ drivers/gpu/drm/ttm/ttm_bo_util.c:378:28: sparse: expected void volatile [noderef] __iomem *io_addr drivers/gpu/drm/ttm/ttm_bo_util.c:378:28: sparse: got void *virtual -- drivers/gpu/drm/qxl/qxl_kms.c:168:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct qxl_rom *rom @@ got void [noderef] __iomem * @@ drivers/gpu/drm/qxl/qxl_kms.c:168:19: sparse: expected struct qxl_rom *rom drivers/gpu/drm/qxl/qxl_kms.c:168:19: sparse: got void [noderef] __iomem * drivers/gpu/drm/qxl/qxl_kms.c:186:26: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct qxl_ram_header *ram_header @@ got void [noderef] __iomem * @@ drivers/gpu/drm/qxl/qxl_kms.c:186:26: sparse: expected struct qxl_ram_header *ram_header drivers/gpu/drm/qxl/qxl_kms.c:186:26: sparse: got void [noderef] __iomem * >> drivers/gpu/drm/qxl/qxl_kms.c:275:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *io_addr @@ got struct qxl_ram_header *ram_header @@ drivers/gpu/drm/qxl/qxl_kms.c:275:21: sparse: expected void volatile [noderef] __iomem *io_addr drivers/gpu/drm/qxl/qxl_kms.c:275:21: sparse: got struct qxl_ram_header *ram_header >> drivers/gpu/drm/qxl/qxl_kms.c:279:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *io_addr @@ got struct qxl_rom *rom @@ drivers/gpu/drm/qxl/qxl_kms.c:279:21: sparse: expected void volatile [noderef] __iomem *io_addr drivers/gpu/drm/qxl/qxl_kms.c:279:21: sparse: got struct qxl_rom *rom drivers/gpu/drm/qxl/qxl_kms.c:323:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *io_addr @@ got struct qxl_ram_header *ram_header @@ drivers/gpu/drm/qxl/qxl_kms.c:323:21: sparse: expected void volatile [noderef] __iomem *io_addr drivers/gpu/drm/qxl/qxl_kms.c:323:21: sparse: got struct qxl_ram_header *ram_header drivers/gpu/drm/qxl/qxl_kms.c:324:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *io_addr @@ got struct qxl_rom *rom @@ drivers/gpu/drm/qxl/qxl_kms.c:324:21: sparse: expected void volatile [noderef] __iomem *io_addr drivers/gpu/drm/qxl/qxl_kms.c:324:21: sparse: got struct qxl_rom *rom -- drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:104:58: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:104:58: sparse: expected void volatile [noderef] __iomem *addr drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:104:58: sparse: got void * drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:110:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:110:58: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:110:58: sparse: got void * >> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:157:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *io_addr @@ got void *[assigned] emap @@ drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:157:25: sparse: expected void volatile [noderef] __iomem *io_addr drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:157:25: sparse: got void *[assigned] emap drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:174:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *map @@ got void [noderef] __iomem * @@ drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:174:19: sparse: expected void *map drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:174:19: sparse: got void [noderef] __iomem * drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:225:28: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got void *map @@ drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:225:28: sparse: expected void [noderef] __iomem * drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:225:28: sparse: got void *map drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:233:28: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got void *map @@ drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:233:28: sparse: expected void [noderef] __iomem * drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:233:28: sparse: got void *map drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:240:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *map @@ got void *map @@ drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:240:21: sparse: expected void [noderef] __iomem *map drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:240:21: sparse: got void *map >> drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:327:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *io_addr @@ got void *[assigned] map @@ drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:327:25: sparse: expected void volatile [noderef] __iomem *io_addr drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c:327:25: sparse: got void *[assigned] map -- drivers/gpu/drm/msm/adreno/a6xx_gmu.c:224:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:224:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:224:15: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:224:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:224:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:224:15: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:240:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:240:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:240:15: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:240:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:240:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:240:15: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:322:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:322:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:322:15: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:322:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:322:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:322:15: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:366:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:366:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:366:15: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:366:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:366:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:366:15: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:391:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:391:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:391:15: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:391:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:391:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:391:15: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:464:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:464:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:464:15: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:464:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:464:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:464:15: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:471:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:471:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:471:15: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:471:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:471:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:471:15: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:497:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:497:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:497:15: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:497:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:497:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:497:15: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1418:31: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1418:31: sparse: expected void [noderef] __iomem * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1418:31: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1424:31: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void [noderef] __iomem * @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1424:31: sparse: expected void [noderef] __iomem * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1424:31: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:862:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:862:9: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:862:9: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:862:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:862:9: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:862:9: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:864:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:864:9: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:864:9: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:864:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:864:9: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:864:9: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:866:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:866:9: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:866:9: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:866:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:866:9: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:866:9: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:868:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:868:9: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:868:9: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:868:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:868:9: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:868:9: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1070:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1070:23: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1070:23: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1070:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1070:23: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1070:23: sparse: got void * >> drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1464:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *io_addr @@ got void *[noderef] mmio @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1464:20: sparse: expected void volatile [noderef] __iomem *io_addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1464:20: sparse: got void *[noderef] mmio >> drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1466:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *io_addr @@ got void *[noderef] rscc @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1466:28: sparse: expected void volatile [noderef] __iomem *io_addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1466:28: sparse: got void *[noderef] rscc drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1573:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *[noderef] mmio @@ got void [noderef] __iomem * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1573:19: sparse: expected void *[noderef] mmio drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1573:19: sparse: got void [noderef] __iomem * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1580:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *[noderef] rscc @@ got void [noderef] __iomem * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1580:27: sparse: expected void *[noderef] rscc drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1580:27: sparse: got void [noderef] __iomem * drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1611:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *io_addr @@ got void *[noderef] mmio @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1611:20: sparse: expected void volatile [noderef] __iomem *io_addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1611:20: sparse: got void *[noderef] mmio drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1613:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *io_addr @@ got void *[noderef] rscc @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1613:28: sparse: expected void volatile [noderef] __iomem *io_addr drivers/gpu/drm/msm/adreno/a6xx_gmu.c:1613:28: sparse: got void *[noderef] rscc drivers/gpu/drm/msm/adreno/a6xx_gmu.c: note: in included file (through drivers/gpu/drm/msm/adreno/a6xx_gpu.h): drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: expected void volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: expected void volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: expected void volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: expected void volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: expected void volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: expected void const volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:96:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: expected void volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: expected void volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@ drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: expected void volatile [noderef] __iomem *addr drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: got void * drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.c:224:15: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.c:224:15: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.c:224:15: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.c:224:15: sparse: sparse: dereference of noderef expression drivers/gpu/drm/msm/adreno/a6xx_gmu.h:101:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@ vim +378 drivers/gpu/drm/ttm/ttm_bo_util.c ba4e7d973dd09b Thomas Hellstrom 2009-06-10 371 ba4e7d973dd09b Thomas Hellstrom 2009-06-10 372 void ttm_bo_kunmap(struct ttm_bo_kmap_obj *map) ba4e7d973dd09b Thomas Hellstrom 2009-06-10 373 { ba4e7d973dd09b Thomas Hellstrom 2009-06-10 374 if (!map->virtual) ba4e7d973dd09b Thomas Hellstrom 2009-06-10 375 return; ba4e7d973dd09b Thomas Hellstrom 2009-06-10 376 switch (map->bo_kmap_type) { ba4e7d973dd09b Thomas Hellstrom 2009-06-10 377 case ttm_bo_map_iomap: ba4e7d973dd09b Thomas Hellstrom 2009-06-10 @378 iounmap(map->virtual); ba4e7d973dd09b Thomas Hellstrom 2009-06-10 379 break; ba4e7d973dd09b Thomas Hellstrom 2009-06-10 380 case ttm_bo_map_vmap: ba4e7d973dd09b Thomas Hellstrom 2009-06-10 381 vunmap(map->virtual); ba4e7d973dd09b Thomas Hellstrom 2009-06-10 382 break; ba4e7d973dd09b Thomas Hellstrom 2009-06-10 383 case ttm_bo_map_kmap: ba4e7d973dd09b Thomas Hellstrom 2009-06-10 384 kunmap(map->page); ba4e7d973dd09b Thomas Hellstrom 2009-06-10 385 break; ba4e7d973dd09b Thomas Hellstrom 2009-06-10 386 case ttm_bo_map_premapped: ba4e7d973dd09b Thomas Hellstrom 2009-06-10 387 break; ba4e7d973dd09b Thomas Hellstrom 2009-06-10 388 default: ba4e7d973dd09b Thomas Hellstrom 2009-06-10 389 BUG(); ba4e7d973dd09b Thomas Hellstrom 2009-06-10 390 } d3116756a710e3 Christian König 2021-04-12 391 ttm_mem_io_free(map->bo->bdev, map->bo->resource); ba4e7d973dd09b Thomas Hellstrom 2009-06-10 392 map->virtual = NULL; ba4e7d973dd09b Thomas Hellstrom 2009-06-10 393 map->page = NULL; ba4e7d973dd09b Thomas Hellstrom 2009-06-10 394 } ba4e7d973dd09b Thomas Hellstrom 2009-06-10 395 EXPORT_SYMBOL(ttm_bo_kunmap); ba4e7d973dd09b Thomas Hellstrom 2009-06-10 396 :::::: The code at line 378 was first introduced by commit :::::: ba4e7d973dd09b66912ac4c0856add8b0703a997 drm: Add the TTM GPU memory manager subsystem. :::::: TO: Thomas Hellstrom :::::: CC: Dave Airlie -- 0-DAY CI Kernel Test Service https://01.org/lkp