Re: [PATCH v2 2/5] fbdev: Give atafb proper parent

Michael Schmitz <[email protected]>
Newsgroups org.kernel.vger.linux-fbdev,org.kernel.vger.linux-m68k
Message-ID <[email protected]>
Hi Thomas,

Am 17.08.2026 um 19:57 schrieb Thomas Zimmermann:
>>>> The atafb fb device registers no parent, causing a missing symlink
>>>> (/sys/class/graphics/fb0/device). Xorg fbdevhw driver looks for that
>>>> symlink when scanning for devices, so add a parent node for atafb.
>>>
>>> Do you really have these devices to test with?
>>
>> Not the particular hardware that patches 3 and 4 add support for, but
>> the 'normal' Videl that is found in every Falcon, yes.

N.B.: actual hardware won't be essential to test - an emulator such as 
ARAnyM will do fine.

>>
>>> If so, could you also replace the hard coded fb_info with a call to
>>> framebuffer_alloc()?
>>
>> Can't see how that would work - fb_info isn't passed to all functions
>> that need to use it, especially in the hardware detection phase (hence
>> the use of a static fb_info struct)?

On second thought, depending on how early in driver init fb_info is 
needed, I may get away with turning it into a struct *fb_info and using 
that where it can't easily be passed.

>
> You'd have to modify the driver to pass the allocated instance, of
> course. It's not a trivial oneliner, but if this driver is still
> relevant, it might be worth improving it.

Your point is taken - I'll take a look at what would be required to pass 
fb_info to all users. It's been nineteen years since rewrote atafb so 
getting my head around the call sequences may take awhile.

Cheers,

	Michael

>
> Best regards
> Thomas
>
>>
>> Cheers,
>>
>>     Michael
>>
>>>>
>>>> Signed-off-by: Miro Kropacek <[email protected]>
>>>> Reviewed-by: Michael Schmitz <[email protected]>
>>>> Signed-off-by: Michael Schmitz <[email protected]>
>>>> Cc: <[email protected]>
>>>> Link: https://lists.debian.org/debian-68k/2026/08/msg00000.html
>>>> ---
>>>>   drivers/video/fbdev/atafb.c | 5 +++++
>>>>   1 file changed, 5 insertions(+)
>>>>
>>>> diff --git a/drivers/video/fbdev/atafb.c b/drivers/video/fbdev/atafb.c
>>>> index b8ed1c537293..3d540803dc2b 100644
>>>> --- a/drivers/video/fbdev/atafb.c
>>>> +++ b/drivers/video/fbdev/atafb.c
>>>> @@ -3101,6 +3101,11 @@ static int __init atafb_probe(struct
>>>> platform_device *pdev)
>>>>   #endif /* ATAFB_EXT */
>>>>     //    strcpy(fb_info.mode->name, "Atari Builtin ");
>>>> +    /* Parent the fb device properly: without this fb0 registers as a
>>>> +     * virtual sysfs device with no /sys/class/graphics/fb0/device
>>>> link,
>>>> +     * which makes Xorg's fbdevhw reject it ("No devices detected").
>>>> +     */
>>>> +    fb_info.device = &pdev->dev;
>>>
>>> Because this is supposed to happen in framebuffer_alloc() and keeping it
>>> there would be preferable.
>>>
>>> Best regards
>>> Thomas
>>>
>>>>       fb_info.fbops = &atafb_ops;
>>>>       // try to set default (detected; requested) var
>>>>       do_fb_set_var(&atafb_predefined[default_par - 1], 1);
>>>
>>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.