Re: [PATCH] misc: sram: Only map reserved areas in Tegra SYSRAM

From: kernel test robot
Date: Fri Jun 18 2021 - 00:11:41 EST


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 <lkp@xxxxxxxxx>


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@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip