| From 98ff3a5dda9a0f54356493e69f3ae0a665b77e92 Mon Sep 17 00:00:00 2001 |
| From: Sam Ravnborg <sam@ravnborg.org> |
| Date: Thu, 11 Jul 2019 20:52:52 -0700 |
| Subject: sh: prevent warnings when using iounmap |
| |
| [ Upstream commit 733f0025f0fb43e382b84db0930ae502099b7e62 ] |
| |
| When building drm/exynos for sh, as part of an allmodconfig build, the |
| following warning triggered: |
| |
| exynos7_drm_decon.c: In function `decon_remove': |
| exynos7_drm_decon.c:769:24: warning: unused variable `ctx' |
| struct decon_context *ctx = dev_get_drvdata(&pdev->dev); |
| |
| The ctx variable is only used as argument to iounmap(). |
| |
| In sh - allmodconfig CONFIG_MMU is not defined |
| so it ended up in: |
| |
| \#define __iounmap(addr) do { } while (0) |
| \#define iounmap __iounmap |
| |
| Fix the warning by introducing a static inline function for iounmap. |
| |
| This is similar to several other architectures. |
| |
| Link: http://lkml.kernel.org/r/20190622114208.24427-1-sam@ravnborg.org |
| Signed-off-by: Sam Ravnborg <sam@ravnborg.org> |
| Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> |
| Cc: Yoshinori Sato <ysato@users.sourceforge.jp> |
| Cc: Rich Felker <dalias@libc.org> |
| Cc: Will Deacon <will.deacon@arm.com> |
| Cc: Mark Brown <broonie@kernel.org> |
| Cc: Inki Dae <inki.dae@samsung.com> |
| Cc: Krzysztof Kozlowski <krzk@kernel.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/sh/include/asm/io.h | 6 +++++- |
| 1 file changed, 5 insertions(+), 1 deletion(-) |
| |
| diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h |
| index 98cb8c802b1a..0ae60d680000 100644 |
| --- a/arch/sh/include/asm/io.h |
| +++ b/arch/sh/include/asm/io.h |
| @@ -371,7 +371,11 @@ static inline int iounmap_fixed(void __iomem *addr) { return -EINVAL; } |
| |
| #define ioremap_nocache ioremap |
| #define ioremap_uc ioremap |
| -#define iounmap __iounmap |
| + |
| +static inline void iounmap(void __iomem *addr) |
| +{ |
| + __iounmap(addr); |
| +} |
| |
| /* |
| * Convert a physical pointer to a virtual kernel pointer for /dev/mem |
| -- |
| 2.20.1 |
| |