TTY:console: update document console.txt
Update Documentatin/console/console.txt to reflect the following changes: take_over_console|register_con_driver|unregister_con_driver|bind_con_driver had gone, they had been replace by the new caller hold console lock version, do_take_over_console|do_register_con_driver|do_unregister_con_driver|do_bind_con_driver. This patch also fix a place include wrong description about give_up_console. Signed-off-by: Wang YanQing <udknight@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
155957f56c
Коммит
6b5f146535
|
@ -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
|
any time with each driver sharing the console with other drivers including
|
||||||
the system driver. However, modular drivers cannot take over the console
|
the system driver. However, modular drivers cannot take over the console
|
||||||
that is currently occupied by another modular driver. (Exception: Drivers that
|
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
|
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
|
occupied by the system driver. In the same token, if the modular driver is
|
||||||
released by the console, the system driver will take over.
|
released by the console, the system driver will take over.
|
||||||
|
|
||||||
Modular drivers, from the programmer's point of view, has to call:
|
Modular drivers, from the programmer's point of view, has to call:
|
||||||
|
|
||||||
take_over_console() - load and bind driver to console layer
|
do_take_over_console() - load and bind driver to console layer
|
||||||
give_up_console() - unbind and unload driver
|
give_up_console() - unload driver, it will only work if driver is fully unbond
|
||||||
|
|
||||||
In newer kernels, the following are also available:
|
In newer kernels, the following are also available:
|
||||||
|
|
||||||
register_con_driver()
|
do_register_con_driver()
|
||||||
unregister_con_driver()
|
do_unregister_con_driver()
|
||||||
|
|
||||||
If sysfs is enabled, the contents of /sys/class/vtconsole can be
|
If sysfs is enabled, the contents of /sys/class/vtconsole can be
|
||||||
examined. This shows the console backends currently registered by the
|
examined. This shows the console backends currently registered by the
|
||||||
|
@ -94,12 +94,12 @@ for more details).
|
||||||
Notes for developers:
|
Notes for developers:
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
take_over_console() is now broken up into:
|
do_take_over_console() is now broken up into:
|
||||||
|
|
||||||
register_con_driver()
|
do_register_con_driver()
|
||||||
bind_con_driver() - private function
|
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
|
be fully unbound for this call to succeed. con_is_bound() will check if the
|
||||||
driver is bound or not.
|
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,
|
In order for binding to and unbinding from the console to properly work,
|
||||||
console drivers must follow these guidelines:
|
console drivers must follow these guidelines:
|
||||||
|
|
||||||
1. All drivers, except system drivers, must call either register_con_driver()
|
1. All drivers, except system drivers, must call either do_register_con_driver()
|
||||||
or take_over_console(). register_con_driver() will just add the driver to
|
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
|
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.
|
bind to) the console.
|
||||||
|
|
||||||
2. All resources allocated during con->con_init() must be released in
|
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.
|
rebind the driver to the console arrives.
|
||||||
|
|
||||||
4. Upon exit of the driver, ensure that the driver is totally unbound. If the
|
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().
|
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
|
impossible for the driver to service console requests. This can happen
|
||||||
with the framebuffer console that suddenly lost all of its drivers.
|
with the framebuffer console that suddenly lost all of its drivers.
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче