[PATCH] bootwrapper: mspsc.c: fix pointer-to-int-cast warnings
Michael Ellerman
mpe at ellerman.id.au
Mon Nov 13 22:05:44 AEDT 2017
Hi Michal,
Thanks for trying to fix this.
Michal Suchanek <msuchanek at suse.de> writes:
> I get these warnings:
>
> ../arch/powerpc/boot/mpsc.c: In function 'mpsc_get_virtreg_of_phandle':
> ../arch/powerpc/boot/mpsc.c:113:35: warning: cast from pointer to
> integer of different size [-Wpointer-to-int-cast]
>
> ../arch/powerpc/boot/mpsc.c: In function 'mpsc_console_init':
> ../arch/powerpc/boot/mpsc.c:147:12: warning: cast from pointer to
> integer of different size [-Wpointer-to-int-cast]
>
> Presumably the patch below fixes these, and presumably the DT defines
> that pointes and integers have the same size in the DT so this is fine
Actually no it doesn't. A device tree doesn't contain pointers, and it
doesn't say anything about the size of a pointer on a platform that uses
that device tree.
phandles are not pointers, they are handles, and they are always 32-bit.
So this code is just wrong on 64-bit, you can't safely cast from a
64-bit pointer to a phandle.
But I think this warning has actually been fixed differently by commit:
866bfc75f40e ("powerpc: conditionally compile platform-specific serial drivers")
If you're still seeing the warning let me know.
cheers
More information about the Linuxppc-dev
mailing list