mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-25 16:11:45 +00:00
tty: kref the tty driver object
Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
99f1fe189d
commit
7d7b93c145
5 changed files with 81 additions and 59 deletions
|
@ -253,6 +253,7 @@ struct tty_operations {
|
|||
|
||||
struct tty_driver {
|
||||
int magic; /* magic number for this structure */
|
||||
struct kref kref; /* Reference management */
|
||||
struct cdev cdev;
|
||||
struct module *owner;
|
||||
const char *driver_name;
|
||||
|
@ -266,7 +267,6 @@ struct tty_driver {
|
|||
short subtype; /* subtype of tty driver */
|
||||
struct ktermios init_termios; /* Initial termios */
|
||||
int flags; /* tty driver flags */
|
||||
int refcount; /* for loadable tty drivers */
|
||||
struct proc_dir_entry *proc_entry; /* /proc fs entry */
|
||||
struct tty_driver *other; /* only used for the PTY driver */
|
||||
|
||||
|
@ -288,12 +288,19 @@ struct tty_driver {
|
|||
|
||||
extern struct list_head tty_drivers;
|
||||
|
||||
struct tty_driver *alloc_tty_driver(int lines);
|
||||
void put_tty_driver(struct tty_driver *driver);
|
||||
void tty_set_operations(struct tty_driver *driver,
|
||||
extern struct tty_driver *alloc_tty_driver(int lines);
|
||||
extern void put_tty_driver(struct tty_driver *driver);
|
||||
extern void tty_set_operations(struct tty_driver *driver,
|
||||
const struct tty_operations *op);
|
||||
extern struct tty_driver *tty_find_polling_driver(char *name, int *line);
|
||||
|
||||
extern void tty_driver_kref_put(struct tty_driver *driver);
|
||||
extern inline struct tty_driver *tty_driver_kref_get(struct tty_driver *d)
|
||||
{
|
||||
kref_get(&d->kref);
|
||||
return d;
|
||||
}
|
||||
|
||||
/* tty driver magic number */
|
||||
#define TTY_DRIVER_MAGIC 0x5402
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue