Thread (5 messages) 5 messages, 2 authors, 2002-12-04

Re: [STATUS] fbdev api.

From: Antonino Daplas <hidden>
Date: 2002-12-03 09:23:15
Also in: lkml

On Tue, 2002-12-03 at 02:07, James Simmons wrote:
Hi!

  I have a new patch avaiable. It is against 2.5.50. The patch is at 

http://phoenix.infradead.org/~jsimmons/fbdev.diff.gz

Have fun!!!!

Drivers ported are: (Give them a try)

    ATI Mach 64
    ATI 128
    VESA 
    VGA16
    HGA
    NIVIDA
    NEOMAGIC
     
The BIG changes are:

1) The seperation of the console code out of the fbdev drivers. 

2) Total modularity of the frmaebuffer console system. Yes that is 
   right. You can build it has modules. Great for testing.

The following are results of the new changes which I have tested.

   With my VIA laptop with my neomagic card I was able to build it with 
vgacon and no fbcon. Then I insmod neofb and the soft accel (cfb*.c) 
needed. It loading and did NOT change the video hardware state. At this 
point I could run fbdev apps including a X server using /dev/fb solely. 
On opening /dev/fb0 the graphics hardware state changed. In theory I could 
exit X and get vgacon back. In order to do this I have to reset the 
hardware back to vga text mode in the fb_release function. It can be done 
but I haven't done it yet.
   With the second experiment I was able to insmod the fonts and fbcon.o.
Then it switched from vgacon to fbcon. In theory I could again call the 
release function and reset the hardware back to a text mode state. All 
that is needed is the hardware specific code to do this.

Things to be done:

    1) A few bugs in fbcon to hammer out. 
 
    2) Fbcon to support changing resolution via the console layer. 

    3) Move the logo code out of fbcon.c to fbmem.c. With pure fbdev 
       you need something to let you know things worked.

    4) Software rotation.
Attached is a patch against linux-2.5.50 + your fbdev.diff.

a.  changed __MOD_INC_USE_COUNT and __MOD_DEC_USE_COUNT to
try_module_get() and module_put() respectively.  This will allow modules
to be safely unloaded.

b.  Another rewrite of fbcon_show_logo() so it's more understandable
(hopefully).  I also added support for the rest of the visuals, but
untested yet.  

Tested with different hardware (little endian):
truecolor, directcolor, pseudocolor, vga 4-bit pseudocolor.  

Not tested:
static psuedocolor, mono01, and mono10.

c.  prevent fbcon module from loading if no fbdev is registered.  Also
made fbcon module unsafe to unload (for now).  This is optional, of course.

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help