Re: [PATCH] sh: prevent warnings when using iounmap

From: Geert Uytterhoeven
Date: Mon Jun 24 2019 - 03:59:24 EST


Hi Sam,

On Sat, Jun 22, 2019 at 1:45 PM Sam Ravnborg <sam@xxxxxxxxxxxx> 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@xxxxxxxxxxxx>

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

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds