Re: [PATCH] soc: renesas: rcar-rst: fix __iomem on configure call

From: Geert Uytterhoeven
Date: Fri Dec 20 2019 - 11:13:29 EST


Hi Ben,

On Wed, Dec 18, 2019 at 2:52 PM Ben Dooks (Codethink)
<ben.dooks@xxxxxxxxxxxxxxx> wrote:
> The configure call back takes a register pointer, so should
> have been marked with __iomem. Add this to silence the
> following sparse warnings:
>
> rivers/soc/renesas/rcar-rst.c:33:22: warning: incorrect type in initializer (incompatible argument 1 (different address spaces))

d

> drivers/soc/renesas/rcar-rst.c:33:22: expected int ( *configure )( ... )
> drivers/soc/renesas/rcar-rst.c:33:22: got int ( * )( ... )
> drivers/soc/renesas/rcar-rst.c:97:40: warning: incorrect type in argument 1 (different address spaces)
> drivers/soc/renesas/rcar-rst.c:97:40: expected void *base
> drivers/soc/renesas/rcar-rst.c:97:40: got void [noderef] <asn:2> *[assigned] base
>
> Signed-off-by: Ben Dooks (Codethink) <ben.dooks@xxxxxxxxxxxxxxx>

Thanks!

Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
i.e. will queue in renesas-devel for v5.6...

> --- a/drivers/soc/renesas/rcar-rst.c
> +++ b/drivers/soc/renesas/rcar-rst.c
> @@ -21,7 +21,7 @@ static int rcar_rst_enable_wdt_reset(void __iomem *base)
>
> struct rst_config {
> unsigned int modemr; /* Mode Monitoring Register Offset */
> - int (*configure)(void *base); /* Platform specific configuration */
> + int (*configure)(void __iomem *base); /* Platform specific configuration */

... with s/configuration/config/ to conform to the 80-char line limit.

> };
>
> static const struct rst_config rcar_rst_gen1 __initconst = {

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