linux/drivers/video/console
Jesse Barnes cfafca8067 fbdev: fbcon: console unregistration from unregister_framebuffer
This allows for proper console unregistration via the VT layer, and updates
the FB layer to use it.  This makes debugging new console drivers much easier,
since you can properly clean them up before unloading.

[adaplas]
unregister_framebuffer() is typically called as part of the driver's
module_exit(). Doing so otherwise will freeze the machine as the VT layer is
holding reference counts on fbcon, and fbcon on the driver.  With this change,
it allows unregister_framebuffer() to be called safely anywhere as needed.

Additions from the original:  If multiple drivers are used by fbcon, and if
one of them unregisters, a driver will take over the consoles vacated by the
outgoing one (via set_con2fb_map).   Once only the outgoing driver remains,
then fbcon will unbind from the VT layer (if CONFIG_HW_CONSOLE_UNBINDING is
set to y).

It is important that these drivers implement fb_open() and fb_release()
just to ensure that no other process is using the driver. Likewise, these
drivers _must_ check the return value of unregister_framebuffer().

[akpm@linux-foundation.org: make fbcon_unbind() stub inline]
Signed-off-by: Jesse Barnes <jesse.barnes@intel.com>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-17 10:23:11 -07:00
..
Kconfig fbcon: Revise primary device selection 2007-07-17 10:23:11 -07:00
Makefile [VIDEO]: Fix section mismatch warning in promcon. 2007-06-04 23:52:45 -07:00
bitblit.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
dummycon.c [PATCH] tty: Remove include of screen_info.h from tty.h 2006-07-10 13:24:16 -07:00
fbcon.c fbdev: fbcon: console unregistration from unregister_framebuffer 2007-07-17 10:23:11 -07:00
fbcon.h fbdev: Move declaration of fb_class to <linux/fb.h> 2007-06-01 08:18:28 -07:00
fbcon_ccw.c [PATCH] fbcon:: make 3 functions static 2006-10-03 08:04:12 -07:00
fbcon_cw.c [PATCH] fbcon:: make 3 functions static 2006-10-03 08:04:12 -07:00
fbcon_rotate.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
fbcon_rotate.h [PATCH] fbcon: Code cleanups 2006-01-10 08:01:51 -08:00
fbcon_ud.c [PATCH] fbcon:: make 3 functions static 2006-10-03 08:04:12 -07:00
font_6x11.c [PATCH] fbcon: constify font data 2005-09-13 08:22:32 -07:00
font_7x14.c [PATCH] fbcon: constify font data 2005-09-13 08:22:32 -07:00
font_8x8.c [PATCH] fbcon: constify font data 2005-09-13 08:22:32 -07:00
font_8x16.c [PATCH] fbcon: constify font data 2005-09-13 08:22:32 -07:00
font_10x18.c [PATCH] fbcon: constify font data 2005-09-13 08:22:32 -07:00
font_acorn_8x8.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
font_mini_4x6.c [PATCH] fbcon: constify font data 2005-09-13 08:22:32 -07:00
font_pearl_8x8.c [PATCH] fbcon: constify font data 2005-09-13 08:22:32 -07:00
font_sun8x16.c [PATCH] fbcon: constify font data 2005-09-13 08:22:32 -07:00
font_sun12x22.c [PATCH] fbcon: constify font data 2005-09-13 08:22:32 -07:00
fonts.c fbcon: font setting should check limitation of driver 2007-05-08 11:15:31 -07:00
mdacon.c vt: add color support to the "underline" and "italic" attributes 2007-05-08 11:15:27 -07:00
newport_con.c [PATCH] vt: Remove VT-specific declarations and definitions from tty.h 2006-07-10 13:24:16 -07:00
prom.uni Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
promcon.c vt: add color support to the "underline" and "italic" attributes 2007-05-08 11:15:27 -07:00
softcursor.c fix file specification in comments 2007-05-09 08:58:16 +02:00
sticon.c vt: add color support to the "underline" and "italic" attributes 2007-05-08 11:15:27 -07:00
sticore.c [PARISC] fix section mismatch in parisc STI video drivers 2007-05-27 12:14:53 -04:00
tileblit.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
vgacon.c Refine SCREEN_INFO sanity check for vgacon initialization 2007-05-17 05:23:04 -07:00