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

From: David Herrmann
Date: Mon Feb 10 2014 - 06:32:36 EST


Hi Tomi

On Mon, Feb 10, 2014 at 12:23 PM, Tomi Valkeinen <tomi.valkeinen@xxxxxx> wrote:
> 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?

No, please drop it. If I understand David correctly, we should just
revert the patches in question. But someone who actually understands
what it is doing should propose that (which is not me..).

Thanks
David
--
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/