Re: [PATCH] c6x: kernel: setup: Type cast 'fdt' to "void *" for early_init_dt_scan() in machine_init()

From: Mark Salter
Date: Tue Mar 03 2015 - 12:10:59 EST


On Sun, 2015-03-01 at 16:11 +0800, Chen Gang wrote:
> early_init_dt_scan() accepts "void *", so c6x needs to type cast 'fdt'
> to "void *" to avoid warning:
>
> CC arch/c6x/kernel/setup.o
> arch/c6x/kernel/setup.c: In function 'machine_init':
> arch/c6x/kernel/setup.c:290:21: warning: passing argument 1 of 'early_init_dt_scan' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
> early_init_dt_scan(fdt);
> ^
> In file included from arch/c6x/kernel/setup.c:19:0:
> include/linux/of_fdt.h:75:13: note: expected 'void *' but argument is of type 'const void *'
> extern bool early_init_dt_scan(void *params);
> ^
>
> Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
> ---
> arch/c6x/kernel/setup.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/c6x/kernel/setup.c b/arch/c6x/kernel/setup.c
> index a5f6e0e..e5ea757 100644
> --- a/arch/c6x/kernel/setup.c
> +++ b/arch/c6x/kernel/setup.c
> @@ -289,7 +289,7 @@ notrace void __init machine_init(unsigned long dt_ptr)
> fdt = dtb;
>
> /* Do some early initialization based on the flat device tree */
> - early_init_dt_scan(fdt);
> + early_init_dt_scan((void *)fdt);
>
> parse_early_param();
> }

I don't like the cast. I think the thing to do is just remove the const
from local variables.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/