Hi Mikko, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on next-20210616] [cannot apply to char-misc/char-misc-testing soc/for-next tegra-drm/drm/tegra/for-next v5.13-rc6 v5.13-rc5 v5.13-rc4 v5.13-rc6] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Mikko-Perttunen/misc-sram-Only-map-reserved-areas-in-Tegra-SYSRAM/20210617-174946 base: c7d4c1fd91ab4a6d2620497921a9c6bf54650ab8 config: m68k-randconfig-s031-20210618 (attached as .config) compiler: m68k-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.3-341-g8af24329-dirty # https://github.com/0day-ci/linux/commit/3108530c06411e371ed28777233c48d89fa61071 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Mikko-Perttunen/misc-sram-Only-map-reserved-areas-in-Tegra-SYSRAM/20210617-174946 git checkout 3108530c06411e371ed28777233c48d89fa61071 # 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__' W=1 ARCH=m68k If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> drivers/misc/sram.c:105:35: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *virt_base @@ got void [noderef] __iomem * @@ drivers/misc/sram.c:105:35: sparse: expected void *virt_base drivers/misc/sram.c:105:35: sparse: got void [noderef] __iomem * drivers/misc/sram.c:107:35: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *virt_base @@ got void [noderef] __iomem * @@ drivers/misc/sram.c:107:35: sparse: expected void *virt_base drivers/misc/sram.c:107:35: sparse: got void [noderef] __iomem * >> drivers/misc/sram.c:114:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *base @@ got void *virt_base @@ drivers/misc/sram.c:114:28: sparse: expected void [noderef] __iomem *base drivers/misc/sram.c:114:28: sparse: got void *virt_base vim +105 drivers/misc/sram.c 92 93 static int sram_add_partition(struct sram_dev *sram, struct sram_reserve *block, 94 phys_addr_t start) 95 { 96 int ret; 97 struct sram_partition *part = &sram->partition[sram->partitions]; 98 99 mutex_init(&part->lock); 100 101 if (sram->config->map_only_reserved) { 102 void *virt_base; 103 104 if (sram->no_memory_wc) > 105 virt_base = devm_ioremap_resource(sram->dev, &block->res); 106 else 107 virt_base = devm_ioremap_resource_wc(sram->dev, &block->res); 108 109 if (IS_ERR(virt_base)) { 110 dev_err(sram->dev, "could not map SRAM at %pr\n", &block->res); 111 return PTR_ERR(virt_base); 112 } 113 > 114 part->base = virt_base; 115 } else { 116 part->base = sram->virt_base + block->start; 117 } 118 119 if (block->pool) { 120 ret = sram_add_pool(sram, block, start, part); 121 if (ret) 122 return ret; 123 } 124 if (block->export) { 125 ret = sram_add_export(sram, block, start, part); 126 if (ret) 127 return ret; 128 } 129 if (block->protect_exec) { 130 ret = sram_check_protect_exec(sram, block, part); 131 if (ret) 132 return ret; 133 134 ret = sram_add_pool(sram, block, start, part); 135 if (ret) 136 return ret; 137 138 sram_add_protect_exec(part); 139 } 140 141 sram->partitions++; 142 143 return 0; 144 } 145 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org