Re: [PATCH v2 2/5] fbdev: Give atafb proper parent
From: Michael Schmitz <schmitzmic@gmail.com>
Date: 2026-08-17 19:11:28
Also in:
linux-m68k
Hi Thomas, Am 17.08.2026 um 19:57 schrieb Thomas Zimmermann:
quoted
quoted
quoted
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.
quoted
quoted
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 Thomasquoted
Cheers, Michaelquoted
quoted
Signed-off-by: Miro Kropacek <redacted> Reviewed-by: Michael Schmitz <schmitzmic@gmail.com> Signed-off-by: Michael Schmitz <schmitzmic@gmail.com> Cc: <redacted> 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(structplatform_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 Thomasquoted
fb_info.fbops = &atafb_ops; // try to set default (detected; requested) var do_fb_set_var(&atafb_predefined[default_par - 1], 1);