Re: [PATCH RESEND 0/8] x86 platform framebuffers

From: H. Peter Anvin
Date: Sat Aug 03 2013 - 11:53:38 EST

When compiled for i386 PAE phys_addr_t is 64 bits but pointers are 32 bits.

David Herrmann <dh.herrmann@xxxxxxxxx> wrote:
>On Sat, Aug 3, 2013 at 1:39 AM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
>> On 08/02/2013 05:05 AM, David Herrmann wrote:
>>> Hi
>>> I cut down my previous series to no longer include the SimpleDRM
>driver. If
>>> anyone is interested, you can find it here:
>>> I will resend it once these preparation patches are in.
>>> Changes since v2:
>>> - added common x86 formats (reported by hpa) (patch #5)
>>> This whole series (including simpledrm) is tested by Stephen and me.
>I would be
>>> glad if maintainers could ack/nack this so I can continue my work.
>>> This series is pretty small and just converts x86 to use
>>> instead of global objects to pass framebuffer data to drivers. The
>>> messages explain everything in detail.
>>> The idea is to create a "platform-framebuffer" device which drivers
>can bind to.
>>> If x86 boot code detectes efi or vesa framebuffers, it creates
>>> or vesa-framebuffer devices instead.
>>> Additionally, if the modes are compatible, "simple-framebuffer"
>devices are
>>> created so simplefb can be used on x86. This feature is only enabled
>>> CONFIG_X86_SYSFB is selected (off by default) so users without
>simplefb still
>>> get boot logs.
>>> @Stephen: I wasn't sure whether you tested the efi/vesa framebuffer
>>> too, so I didn't add your tested-by there. And I changed patch #5 so
>I dropped
>>> it there, too. Thanks for testing!
>> I am getting a bunch of new warnings with this patchset, typically of
>> the form:
>> /home/hpa/kernel/distwork/drivers/video/arkfb.c:1019:23: warning:
>> 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
>> /home/hpa/kernel/distwork/drivers/video/s3fb.c:1186:23: warning: cast
>> pointer from integer of different size [-Wint-to-pointer-cast]
>> par->state.vgabase = (void __iomem *) vga_res.start;
>> ^
>> I have pushed it out to a topic branch in the tip tree, partly to
>> Fengguang's build bot a run at it (it is excellent at spotting the
>> origin of new warnings), but this needs to be fixed; we will not
>> this branch in its current form.
>Thanks for looking at it. However, these warnings seem unrelated to my
>patchset. I didn't change any vga/fb headers nor did I touch
>arkfb/s3fb. Furthermore, I cannot reproduce these warnings. "vga_res"
>is a "struct resource", "->start" is of type "resource_size_t" which
>is typedef'ed to "phys_addr_t". Seems like the build-bot used some
>random config with CONFIG_PHYS_ADDR_T_64BIT set but building on 32bit
>(or something like that).
>Is there any place where I can see the compiler log? Or the used
>.config file?

Sent from my mobile phone. Please excuse brevity and lack of formatting.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at