remarkable-linux/drivers
Antonino A. Daplas 3e795de763 [PATCH] VT binding: Add binding/unbinding support for the VT console
The framebuffer console is now able to dynamically bind and unbind from the VT
console layer.  Due to the way the VT console layer works, the drivers
themselves decide when to bind or unbind.  However, it was decided that
binding must be controlled, not by the drivers themselves, but by the VT
console layer.  With this, dynamic binding is possible for all VT console
drivers, not just fbcon.

Thus, the VT console layer will impose the following to all VT console
drivers:

- all registered VT console drivers will be entered in a private list
- drivers can register themselves to the VT console layer, but they cannot
  decide when to bind or unbind. (Exception: To maintain backwards
  compatibility, take_over_console() will automatically bind the driver after
  registration.)
- drivers can remove themselves from the list by unregistering from the VT
  console layer. A prerequisite for unregistration is that the driver must not
  be bound.

The following functions are new in the vt.c:

register_con_driver() - public function, this function adds the VT console
driver to an internal list maintained by the VT console

bind_con_driver() - private function, it binds the driver to the console

take_over_console() is changed to call register_con_driver() followed by a
bind_con_driver().  This is the only time drivers can decide when to bind to
the VT layer.  This is to maintain backwards compatibility.

unbind_con_driver() - private function, it unbinds the driver from its
console.  The vacated consoles will be taken over by the default boot console
driver.

unregister_con_driver() - public function, removes the driver from the
internal list maintained by the VT console.  It will only succeed if the
driver is currently unbound.

con_is_bound() checks if the driver is currently bound or not

give_up_console() is just a wrapper to unregister_con_driver().

There are also 3 additional functions meant to be called only by the tty layer
for sysfs control:

	vt_bind() - calls bind_con_driver()
	vt_unbind() - calls unbind_con_driver()
	vt_show_drivers() - shows the list of registered drivers

Most VT console drivers will continue to work as is, but might have problems
when unbinding or binding which should be fixable with minimal changes.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-26 09:58:33 -07:00
..
acorn
acpi [PATCH] Time: i386 Conversion - part 2: Rework TSC Support 2006-06-26 09:58:21 -07:00
amba
atm [SPARC]: Kill __irq_itoa(). 2006-06-20 01:21:29 -07:00
base [PATCH] core: use list_move() 2006-06-26 09:58:17 -07:00
block [PATCH] CCISS: tidy up product table indentation 2006-06-25 10:01:22 -07:00
bluetooth [PATCH] Bluetooth: fix potential NULL ptr deref in dtl1_cs.c::dtl1_hci_send_frame() 2006-06-26 09:58:16 -07:00
cdrom [PATCH] cdrom/mcdx: section fixes 2006-06-25 10:01:16 -07:00
char [PATCH] VT binding: Add binding/unbinding support for the VT console 2006-06-26 09:58:33 -07:00
clocksource [PATCH] GTOD: add scx200 HRT clocksource 2006-06-26 09:58:21 -07:00
connector [PATCH] connector-exports 2006-06-23 07:43:06 -07:00
cpufreq [PATCH] cpufreq build fix 2006-06-23 08:47:27 -07:00
crypto
dio
dma [I/OAT]: Do not use for_each_cpu(). 2006-06-17 21:25:58 -07:00
edac [PATCH] EDAC Coexistence with BIOS 2006-05-03 20:05:41 -07:00
eisa
fc4 [SPARC]: Kill __irq_itoa(). 2006-06-20 01:21:29 -07:00
firmware [PATCH] DMI: cleanup kernel-doc, add to DocBook 2006-06-25 10:01:24 -07:00
hwmon [PATCH] hwmon-vid: Add support for Intel Core and Conroe 2006-06-22 11:10:36 -07:00
i2c Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
ide [PATCH] Remove code that has long been commented out from pdc20265_old 2006-06-26 09:58:28 -07:00
ieee1394 [PATCH] drivers: use list_move() 2006-06-26 09:58:18 -07:00
infiniband [PATCH] drivers: use list_move() 2006-06-26 09:58:18 -07:00
input [PATCH] random: remove redundant SA_SAMPLE_RANDOM from touchscreen drivers 2006-06-25 10:01:00 -07:00
isdn [PATCH] isdn4linux: Gigaset driver cleanup 2006-06-26 09:58:23 -07:00
leds [PATCH] LED: add LED heartbeat trigger 2006-06-25 10:01:23 -07:00
macintosh [PATCH] Rewritten backlight infrastructure for portable Apple computers 2006-06-25 10:00:59 -07:00
mca
md [PATCH] drivers: use list_move() 2006-06-26 09:58:18 -07:00
media [PATCH] drivers: use list_move() 2006-06-26 09:58:18 -07:00
message Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2006-06-21 11:18:25 -07:00
mfd
misc [PATCH] VFS: Permit filesystem to override root dentry on mount 2006-06-23 07:42:45 -07:00
mmc [ARM] 3565/1: AT91RM9200 MMC update 2006-06-19 13:06:05 +01:00
mtd [MTD] NAND: Fix breakage all over the place 2006-06-20 20:31:24 +01:00
net [PATCH] Add bcm43xx HW RNG support 2006-06-26 09:58:19 -07:00
nubus
oprofile [PATCH] oprofile: convert from semaphores to mutexes 2006-06-25 10:01:04 -07:00
parisc [PARISC] Document that we tolerate "Relaxed Ordering" 2006-04-21 22:20:33 +00:00
parport [PATCH] parport: add to kernel-doc 2006-06-25 10:01:25 -07:00
pci [PATCH] PCI: nVidia quirk to make AER PCI-E extended capability visible 2006-06-21 12:00:01 -07:00
pcmcia [ARM] Fix badge4 build error 2006-06-19 15:37:31 +01:00
pnp [PATCH] pnp: card_probe(): fix memory leak 2006-06-25 10:01:01 -07:00
rapidio
rtc [PATCH] RTC: add rtc-ds1742 driver 2006-06-25 10:01:14 -07:00
s390 [PATCH] drivers: use list_move() 2006-06-26 09:58:18 -07:00
sbus [PATCH] mm: remove VM_LOCKED before remap_pfn_range and drop VM_SHM 2006-06-25 10:00:55 -07:00
scsi [PATCH] drivers: use list_move() 2006-06-26 09:58:18 -07:00
serial [PATCH] m68knommu: 532x UART support 2006-06-25 17:43:33 -07:00
sh
sn [PATCH] SGI IOC4: Detect IO card variant 2006-06-23 07:43:07 -07:00
spi [PATCH] s3c24xx: fix spi driver with CONFIG_PM 2006-05-26 11:55:46 -07:00
tc
telephony [PATCH] pcmcia: use bitfield instead of p_state and state 2006-03-31 17:26:33 +02:00
usb [PATCH] drivers: use list_move() 2006-06-26 09:58:18 -07:00
video [PATCH] Detaching fbcon: add capability to attach/detach fbcon 2006-06-26 09:58:32 -07:00
w1 [PATCH] connector-exports 2006-06-23 07:43:06 -07:00
zorro
Kconfig [I/OAT]: DMA memcpy subsystem 2006-06-17 21:18:43 -07:00
Makefile [PATCH] Time: i386 Clocksource Drivers 2006-06-26 09:58:21 -07:00