mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
tty: The big operations rework
- Operations are now a shared const function block as with most other Linux objects - Introduce wrappers for some optional functions to get consistent behaviour - Wrap put_char which used to be patched by the tty layer - Document which functions are needed/optional - Make put_char report success/fail - Cache the driver->ops pointer in the tty as tty->ops - Remove various surplus lock calls we no longer need - Remove proc_write method as noted by Alexey Dobriyan - Introduce some missing sanity checks where certain driver/ldisc combinations would oops as they didn't check needed methods were present [[email protected]: fix fs/compat_ioctl.c build] [[email protected]: fix isicom] [[email protected]: fix arch/ia64/hp/sim/simserial.c build] [[email protected]: fix kgdb] Signed-off-by: Alan Cox <[email protected]> Acked-by: Greg Kroah-Hartman <[email protected]> Cc: Jason Wessel <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
251b8dd7ee
commit
f34d7a5b70
30 changed files with 537 additions and 664 deletions
|
|
@ -192,16 +192,14 @@ void proc_tty_register_driver(struct tty_driver *driver)
|
|||
{
|
||||
struct proc_dir_entry *ent;
|
||||
|
||||
if ((!driver->read_proc && !driver->write_proc) ||
|
||||
!driver->driver_name ||
|
||||
if (!driver->ops->read_proc || !driver->driver_name ||
|
||||
driver->proc_entry)
|
||||
return;
|
||||
|
||||
ent = create_proc_entry(driver->driver_name, 0, proc_tty_driver);
|
||||
if (!ent)
|
||||
return;
|
||||
ent->read_proc = driver->read_proc;
|
||||
ent->write_proc = driver->write_proc;
|
||||
ent->read_proc = driver->ops->read_proc;
|
||||
ent->owner = driver->owner;
|
||||
ent->data = driver;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue