[PATCH] powerpc: fix wii_memory_fixups() compile error on 3.0.y tree
Ben Hutchings
ben at decadent.org.uk
Sun Dec 9 04:22:39 EST 2012
On Fri, 2012-12-07 at 19:07 -0700, Shuah Khan wrote:
> Fix wii_memory_fixups() the following compile error on 3.0.y tree with
> wii_defconfig on 3.0.y tree.
>
> CC arch/powerpc/platforms/embedded6xx/wii.o
> arch/powerpc/platforms/embedded6xx/wii.c: In function ‘wii_memory_fixups’:
> arch/powerpc/platforms/embedded6xx/wii.c:88:2: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘phys_addr_t’ [-Werror=format]
> arch/powerpc/platforms/embedded6xx/wii.c:88:2: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘phys_addr_t’ [-Werror=format]
> arch/powerpc/platforms/embedded6xx/wii.c:90:2: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘phys_addr_t’ [-Werror=format]
> arch/powerpc/platforms/embedded6xx/wii.c:90:2: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘phys_addr_t’ [-Werror=format]
> cc1: all warnings being treated as errors
> make[2]: *** [arch/powerpc/platforms/embedded6xx/wii.o] Error 1
> make[1]: *** [arch/powerpc/platforms/embedded6xx] Error 2
> make: *** [arch/powerpc/platforms] Error 2
>
> Signed-off-by: Shuah Khan <shuah.khan at hp.com>
> CC: stable at vger.kernel.org 3.0.y
> ---
> arch/powerpc/platforms/embedded6xx/wii.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/platforms/embedded6xx/wii.c b/arch/powerpc/platforms/embedded6xx/wii.c
> index 1b5dc1a..13d58dd 100644
> --- a/arch/powerpc/platforms/embedded6xx/wii.c
> +++ b/arch/powerpc/platforms/embedded6xx/wii.c
> @@ -85,9 +85,9 @@ void __init wii_memory_fixups(void)
> wii_hole_start = p[0].base + p[0].size;
> wii_hole_size = p[1].base - wii_hole_start;
>
> - pr_info("MEM1: <%08llx %08llx>\n", p[0].base, p[0].size);
> + pr_info("MEM1: <%08ulx %08ulx>\n", p[0].base, p[0].size);
"%08ulx" is the conversion specification "%08u" followed by literal
"lx". If phys_addr_t is always defined as unsigned long or always
unsigned int for this platform then you could use "%08lx" or "%08x"
respectively. But usually the right thing to do is to cast the
arguments of type phys_addr_t to unsigned long long (or, equivalently,
u64).
Ben.
> pr_info("HOLE: <%08lx %08lx>\n", wii_hole_start, wii_hole_size);
> - pr_info("MEM2: <%08llx %08llx>\n", p[1].base, p[1].size);
> + pr_info("MEM2: <%08ulx %08ulx>\n", p[1].base, p[1].size);
>
> p[0].size += wii_hole_size + p[1].size;
>
--
Ben Hutchings
Beware of programmers who carry screwdrivers. - Leonard Brandwein
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 828 bytes
Desc: This is a digitally signed message part
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20121208/6a2a6f14/attachment.sig>
More information about the Linuxppc-dev
mailing list