Thread (8 messages) flat view 8 messages, 3 authors, 15d ago

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
Thomas
quoted
Cheers,

    Michael
quoted
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(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
quoted
      fb_info.fbops = &atafb_ops;
      // try to set default (detected; requested) var
      do_fb_set_var(&atafb_predefined[default_par - 1], 1);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help