Re: [PATCH v3 4/4] mtd: phram: Allow cached mappings

From: Vincent Whitchurch
Date: Thu Apr 14 2022 - 05:04:35 EST


On Wed, Apr 13, 2022 at 08:45:59AM +0200, kernel test robot wrote:
> All errors (new ones prefixed by >>):
>
> In file included from include/linux/io.h:13,
> from drivers/mtd/devices/phram.c:21:
> drivers/mtd/devices/phram.c: In function 'register_device':
> >> arch/sh/include/asm/io.h:274:33: error: expected expression before 'do'
> 274 | #define iounmap(addr) do { } while (0)
> | ^~
> drivers/mtd/devices/phram.c:150:44: note: in expansion of macro 'iounmap'
> 150 | cached ? memunmap(new->mtd.priv) : iounmap(new->mtd.priv);
> | ^~~~~~~
> drivers/mtd/devices/phram.c: In function 'phram_remove':
> >> arch/sh/include/asm/io.h:274:33: error: expected expression before 'do'
> 274 | #define iounmap(addr) do { } while (0)
> | ^~
> drivers/mtd/devices/phram.c:372:53: note: in expansion of macro 'iounmap'
> 372 | phram->cached ? memunmap(phram->mtd.priv) : iounmap(phram->mtd.priv);
> | ^~~~~~~
>
>
> vim +/do +274 arch/sh/include/asm/io.h
>
> d57d64080ddc0f Paul Mundt 2010-01-19 272
> 13f1fc870dd747 Christoph Hellwig 2020-07-14 273 #else /* CONFIG_MMU */
> 13f1fc870dd747 Christoph Hellwig 2020-07-14 @274 #define iounmap(addr) do { } while (0)
> 13f1fc870dd747 Christoph Hellwig 2020-07-14 275 #define ioremap(offset, size) ((void __iomem *)(unsigned long)(offset))
> 13f1fc870dd747 Christoph Hellwig 2020-07-14 276 #endif /* CONFIG_MMU */
> d627a2ebd1a303 Paul Mundt 2010-01-28 277

Thank you for the report. This patch could certainly be changed to work
around this, but ISTM that the right fix is in the SH header file, since
the problem could hit in other cases too. I've posted a fix here now:

https://lore.kernel.org/lkml/20220414081257.1487499-1-vincent.whitchurch@xxxxxxxx/