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