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

Helge Deller <[email protected]>
Newsgroups org.kernel.vger.linux-m68k,org.kernel.vger.linux-fbdev
Message-ID <[email protected]>
On 8/20/26 00:28, Michael Schmitz wrote:
> From: Miro Kropacek <[email protected]>
> 
> 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.
> 
> The proper way to do that is use of framebuffer_alloc(), which
> requries refactoring atafb to move from static fb_info to allocation
> of fb_info by framebuffer_alloc().
> About the only location where a fb_info pointer cannot be passed
> is monspec setup in atafb_setup(). Store static monspecs there
> and copy into place after framebuffer_alloc().
> 
> Pass fb_info everywhere it's needed (detect, decode_var and
> do_fb_set_var functions), and remove the static fb_info struct.
> 
> 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
> 
> ---
> 
> Changes in v3:
> 
> - fbdev: refactor atafb fb_info use to allow use of framebuffer_alloc()
>    (Thomas Zimmermann)
> ---
>   drivers/video/fbdev/atafb.c | 174 +++++++++++++++++++-----------------
>   1 file changed, 92 insertions(+), 82 deletions(-)
> 
> diff --git a/drivers/video/fbdev/atafb.c b/drivers/video/fbdev/atafb.c
> index b8ed1c537293..a9be06ded5c9 100644
> --- a/drivers/video/fbdev/atafb.c
> +++ b/drivers/video/fbdev/atafb.c
> @@ -158,14 +158,6 @@ static int DontCalcRes = 0;
>   #define VMO_PREMASK		0x0c
>   #endif
>   
> -static struct fb_info fb_info = {
> -	.fix = {
> -		.id	= "Atari ",
> -		.visual	= FB_VISUAL_PSEUDOCOLOR,
> -		.accel	= FB_ACCEL_NONE,
> -	}
> -};
> -
>   static void *screen_base;	/* base address of screen */
>   static unsigned long phys_screen_base;	/* (only for Overscan) */
>   
> @@ -175,6 +167,12 @@ static int current_par_valid;
>   
>   static int mono_moni;
>   
> +/* monspecs passed by user */
> +
> +static __u32 mcap_hmin;		/* hfreq lower limit (Hz) */
> +static __u32 mcap_hmax;		/* hfreq upper limit (Hz) */
> +static __u16 mcap_vmin;		/* vfreq lower limit (Hz) */
> +static __u16 mcap_vmax;		/* vfreq upper limit (Hz) */
>   
>   #ifdef ATAFB_EXT
>   
> @@ -299,7 +297,7 @@ static int *MV300_reg = MV300_reg_8bit;
>   /* ++roman: This structure abstracts from the underlying hardware (ST(e),
>    * TT, or Falcon.
>    *
> - * int (*detect)(void)
> + * int (*detect)(*fb_info)

I fixed this comment up to become:
+ * int (*detect)(struct fb_info *info)

Other than that I've replaced the latest patch series by this series in
the fbdev for-next git tree.

Thanks!
Helge
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.