diff mbox series

sh: prevent warnings when using iounmap

Message ID 20190622114208.24427-1-sam@ravnborg.org (mailing list archive)
State New, archived
Headers show
Series sh: prevent warnings when using iounmap | expand

Commit Message

Sam Ravnborg June 22, 2019, 11:42 a.m. UTC
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.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Rich Felker <dalias@libc.org>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Mark Brown <broonie@kernel.org>
Cc: Inki Dae <inki.dae@samsung.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: linux-sh@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
 arch/sh/include/asm/io.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Geert Uytterhoeven June 24, 2019, 7:59 a.m. UTC | #1
Hi Sam,

On Sat, Jun 22, 2019 at 1:45 PM Sam Ravnborg <sam@ravnborg.org> wrote:
> 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.
>
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Thanks for your patch!

> --- a/arch/sh/include/asm/io.h
> +++ b/arch/sh/include/asm/io.h
> @@ -369,7 +369,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);
> +}

The alternative would be to make __iounmap() static inline, which may be
better from the viewpoint of consistency within this header file.

Regardless:
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert
diff mbox series

Patch

diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h
index c28e37a344ad..ac0561960c52 100644
--- a/arch/sh/include/asm/io.h
+++ b/arch/sh/include/asm/io.h
@@ -369,7 +369,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