mtd: physmap: physmap-bt1-rom: Fix __iomem addrspace removal warning
authorSerge Semin <Sergey.Semin@baikalelectronics.ru>
Wed, 25 Nov 2020 07:26:40 +0000 (10:26 +0300)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Mon, 7 Dec 2020 11:14:35 +0000 (12:14 +0100)
commit18b9c9403758ff68d93ee2f593096778d58e6f76
tree825499d52e87c6d9acbce78ce58f455d6ac37ad0
parent639a82434f16a6df0ce0e7c8595976f1293940fd
mtd: physmap: physmap-bt1-rom: Fix __iomem addrspace removal warning

sparse is unhappy with us casting the __iomem address space pointer to
a type with no address space attribute specified:

"sparse warnings: (new ones prefixed by >>)"
>> drivers/mtd/maps/physmap-bt1-rom.c:78:18: sparse: sparse: cast removes address space '__iomem' of expression

Indeed we perform the __iomem-less type casting but to an integer
variable. The integer variable isn't dereferenced then, so the casting is
safe and won't cause any problem. But in order to make sparse happy and
keep the code coherent let's fix the warning by converting the local
"shift" and "chunk" variables to the "unsigned int" type (since their
value won't ever exceed three) and cast the __iomem-pointers to uintptr_t.
Add the same fix to the bt1_rom_map_read() method for unification.

Fixes: b3e79e7682e0 ("mtd: physmap: Add Baikal-T1 physically mapped ROM support")
Link: https://lore.kernel.org/lkml/202011021254.XC70BaQT-lkp@intel.com/
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Reported-by: kernel test robot <lkp@intel.com>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20201125072640.23516-1-Sergey.Semin@baikalelectronics.ru
drivers/mtd/maps/physmap-bt1-rom.c