Re: [STATUS] fbdev api.

From: Antonino Daplas (adaplas@pol.net)
Date: Tue Dec 03 2002 - 07:23:17 EST


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.



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Dec 07 2002 - 22:00:16 EST