Re: [Linux-fbdev-devel] [PATCH] broken cfb* support in the 2.5.31-bk

From: James Simmons (
Date: Thu Aug 22 2002 - 12:06:24 EST

> > That was done to push people to port there drivers to the new api.
> Well, what _is_ the new API?

>From the details in skeletonfb.c.

 * I have started rewriting this driver as a example of the upcoming new API
 * The primary goal is to remove the console code from fbdev and place it
 * into fbcon.c. This reduces the code and makes writing a new fbdev driver
 * easy since the author doesn't need to worry about console internals. It
 * also allows the ability to run fbdev without a console/tty system on top
 * of it.
 * First the roles of struct fb_info and struct display have changed. Struct
 * display will go away. The way the the new framebuffer console code will
 * work is that it will act to translate data about the tty/console in
 * struct vc_data to data in a device independent way in struct fb_info. Then
 * various functions in struct fb_ops will be called to store the device
 * dependent state in the par field in struct fb_info and to change the
 * hardware to that state. This allows a very clean seperation of the fbdev
 * layer from the console layer. It also allows one to use fbdev on its own
 * which is a bounus for embedded devices. The reason this approach works is
 * for each framebuffer device when used as a tty/console device is allocated
 * a set of virtual terminals to it. Only one virtual terminal can be active
 * per framebuffer device. We already have all the data we need in struct
 * vc_data so why store a bunch of colormaps and other fbdev specific data
 * per virtual terminal.

 * As you can see doing this makes the con parameter pretty much useless
 * for struct fb_ops functions, as it should be. Also having struct
 * fb_var_screeninfo and other data in fb_info pretty much eliminates the
 * need for get_fix and get_var. Once all drivers use the fix, var, and cmap
 * fbcon can be written around these fields. This will also eliminate the
 * need to regenerate struct fb_var_screeninfo, struct fb_fix_screeninfo
 * struct fb_cmap every time get_var, get_fix, get_cmap functions are called
 * as many drivers do now.

See skeletonfb.c for further details.

> Anyway, you could apply this patch, for a start. I wish you would be
> a bit more careful about details.

Done. Well the good news is I have aquired more hardware for different
platforms to test my work on :-)

MS: (n) 1. A debilitating and surprisingly widespread affliction that
renders the sufferer barely able to perform the simplest task. 2. A disease.

James Simmons [] ____/|
fbdev/console/gfx developer \ o.O| =(_)= U

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Fri Aug 23 2002 - 22:00:25 EST