linux/include
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
..
acpi
asm-alpha fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-arm fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-arm26 fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-avr32 fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-blackfin fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-cris fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-frv fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-generic Fix sparse false positives re BUG_ON(ptr) 2007-07-17 10:23:03 -07:00
asm-h8300 fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-i386 fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-ia64 fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-m32r fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-m68k fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-m68knommu fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-mips fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-parisc fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-powerpc fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-ppc mm: remove ptep_test_and_clear_dirty and ptep_clear_flush_dirty 2007-07-17 10:22:59 -07:00
asm-s390 fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-sh fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-sh64 fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-sparc fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-sparc64 fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-um Add generic exit-time stack-depth checking to CONFIG_DEBUG_STACK_USAGE 2007-07-16 09:05:38 -07:00
asm-v850 fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-x86_64 fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
asm-xtensa fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
crypto
keys
linux fbdev: fbcon: console unregistration from unregister_framebuffer 2007-07-17 10:23:11 -07:00
math-emu
media
mtd
net avoid OPEN_MAX in SCM_MAX_FD 2007-07-17 10:23:03 -07:00
pcmcia PCMCIA-NETDEV : add new ID of lan&modem multifunction card 2007-07-08 22:16:39 -04:00
rdma IB/cm: Include HCA ACK delay in local ACK timeout 2007-07-10 21:50:05 -07:00
rxrpc
scsi [SCSI] Remove unused method scsi_device_cancel 2007-07-14 16:01:16 -05:00
sound
video
Kbuild