Re: [PATCH] fbdev: suppress warning when assigning vga-save/restorebase

From: Tomi Valkeinen
Date: Mon Feb 10 2014 - 06:24:06 EST


Hi David,

On 04/08/13 20:25, David Herrmann wrote:
> If drivers use "struct resource" objects to retrieve the vga-base, they
> must correctly cast the integer to pointer. With x86+PAE we have 32bit
> pointers but 64bit resource_size_t. Hence, cast it to "unsigned long"
> before casting to "void*" to suppress warnings due to size differences.
>
> As IO addresses are always low addresses, we can safely drop the higher
> part of the address. This is what these drivers did before, anyway.
>
> Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx>
> Reported-by: H. Peter Anvin <hpa@xxxxxxxxx>
> ---
> Hi
>
> hpa reported build-warnings on i386+PAE:
> /home/hpa/kernel/distwork/drivers/video/arkfb.c:1019:23: warning: cast to
> pointer from integer of different size [-Wint-to-pointer-cast]
> par->state.vgabase = (void __iomem *) vga_res.start;
> ^
> /home/hpa/kernel/distwork/drivers/video/s3fb.c: In function âs3_pci_probeâ:
> /home/hpa/kernel/distwork/drivers/video/s3fb.c:1186:23: warning: cast to pointer
> from integer of different size [-Wint-to-pointer-cast]
> par->state.vgabase = (void __iomem *) vga_res.start;
> ^
>
> This is due to resource_size_t being 64bit but "void*" 32bit. This patch tries
> to suppress these warnings but I am not really comfortable fixing this. I have
> no idea whether my assumption (IO address are 32bit) is right. Please verify.
>
> @David: The following 3 commits of yours presumably introduced the warnings. I
> would be glad if you could review this:

What was the conclusion on this patch? Should I apply for 3.14 fixes?

Tomi


Attachment: signature.asc
Description: OpenPGP digital signature