|
@@ -12,20 +12,20 @@ The second type has to be explicitly loaded and unloaded. This will be called
|
|
|
any time with each driver sharing the console with other drivers including
|
|
|
the system driver. However, modular drivers cannot take over the console
|
|
|
that is currently occupied by another modular driver. (Exception: Drivers that
|
|
|
-call take_over_console() will succeed in the takeover regardless of the type
|
|
|
+call do_take_over_console() will succeed in the takeover regardless of the type
|
|
|
of driver occupying the consoles.) They can only take over the console that is
|
|
|
occupied by the system driver. In the same token, if the modular driver is
|
|
|
released by the console, the system driver will take over.
|
|
|
|
|
|
Modular drivers, from the programmer's point of view, has to call:
|
|
|
|
|
|
- take_over_console() - load and bind driver to console layer
|
|
|
- give_up_console() - unbind and unload driver
|
|
|
+ do_take_over_console() - load and bind driver to console layer
|
|
|
+ give_up_console() - unload driver, it will only work if driver is fully unbond
|
|
|
|
|
|
In newer kernels, the following are also available:
|
|
|
|
|
|
- register_con_driver()
|
|
|
- unregister_con_driver()
|
|
|
+ do_register_con_driver()
|
|
|
+ do_unregister_con_driver()
|
|
|
|
|
|
If sysfs is enabled, the contents of /sys/class/vtconsole can be
|
|
|
examined. This shows the console backends currently registered by the
|
|
@@ -94,12 +94,12 @@ for more details).
|
|
|
Notes for developers:
|
|
|
=====================
|
|
|
|
|
|
-take_over_console() is now broken up into:
|
|
|
+do_take_over_console() is now broken up into:
|
|
|
|
|
|
- register_con_driver()
|
|
|
- bind_con_driver() - private function
|
|
|
+ do_register_con_driver()
|
|
|
+ do_bind_con_driver() - private function
|
|
|
|
|
|
-give_up_console() is a wrapper to unregister_con_driver(), and a driver must
|
|
|
+give_up_console() is a wrapper to do_unregister_con_driver(), and a driver must
|
|
|
be fully unbound for this call to succeed. con_is_bound() will check if the
|
|
|
driver is bound or not.
|
|
|
|
|
@@ -109,10 +109,10 @@ Guidelines for console driver writers:
|
|
|
In order for binding to and unbinding from the console to properly work,
|
|
|
console drivers must follow these guidelines:
|
|
|
|
|
|
-1. All drivers, except system drivers, must call either register_con_driver()
|
|
|
- or take_over_console(). register_con_driver() will just add the driver to
|
|
|
+1. All drivers, except system drivers, must call either do_register_con_driver()
|
|
|
+ or do_take_over_console(). do_register_con_driver() will just add the driver to
|
|
|
the console's internal list. It won't take over the
|
|
|
- console. take_over_console(), as it name implies, will also take over (or
|
|
|
+ console. do_take_over_console(), as it name implies, will also take over (or
|
|
|
bind to) the console.
|
|
|
|
|
|
2. All resources allocated during con->con_init() must be released in
|
|
@@ -128,10 +128,10 @@ console drivers must follow these guidelines:
|
|
|
rebind the driver to the console arrives.
|
|
|
|
|
|
4. Upon exit of the driver, ensure that the driver is totally unbound. If the
|
|
|
- condition is satisfied, then the driver must call unregister_con_driver()
|
|
|
+ condition is satisfied, then the driver must call do_unregister_con_driver()
|
|
|
or give_up_console().
|
|
|
|
|
|
-5. unregister_con_driver() can also be called on conditions which make it
|
|
|
+5. do_unregister_con_driver() can also be called on conditions which make it
|
|
|
impossible for the driver to service console requests. This can happen
|
|
|
with the framebuffer console that suddenly lost all of its drivers.
|
|
|
|