tty: Eliminate global symbol tty_ldisc_N_TTY

Reduce global tty symbols; move and rename tty_ldisc_begin() as
n_tty_init() and redefine the N_TTY ldisc ops as file scope.

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Peter Hurley 2016-01-09 21:35:19 -08:00 committed by Greg Kroah-Hartman
parent d1d027eff5
commit 27228732aa
4 changed files with 10 additions and 13 deletions

View File

@ -2497,7 +2497,7 @@ static void n_tty_fasync(struct tty_struct *tty, int on)
} }
} }
struct tty_ldisc_ops tty_ldisc_N_TTY = { static struct tty_ldisc_ops n_tty_ops = {
.magic = TTY_LDISC_MAGIC, .magic = TTY_LDISC_MAGIC,
.name = "n_tty", .name = "n_tty",
.open = n_tty_open, .open = n_tty_open,
@ -2518,14 +2518,18 @@ struct tty_ldisc_ops tty_ldisc_N_TTY = {
* n_tty_inherit_ops - inherit N_TTY methods * n_tty_inherit_ops - inherit N_TTY methods
* @ops: struct tty_ldisc_ops where to save N_TTY methods * @ops: struct tty_ldisc_ops where to save N_TTY methods
* *
* Enables a 'subclass' line discipline to 'inherit' N_TTY * Enables a 'subclass' line discipline to 'inherit' N_TTY methods.
* methods.
*/ */
void n_tty_inherit_ops(struct tty_ldisc_ops *ops) void n_tty_inherit_ops(struct tty_ldisc_ops *ops)
{ {
*ops = tty_ldisc_N_TTY; *ops = n_tty_ops;
ops->owner = NULL; ops->owner = NULL;
ops->refcount = ops->flags = 0; ops->refcount = ops->flags = 0;
} }
EXPORT_SYMBOL_GPL(n_tty_inherit_ops); EXPORT_SYMBOL_GPL(n_tty_inherit_ops);
void __init n_tty_init(void)
{
tty_register_ldisc(N_TTY, &n_tty_ops);
}

View File

@ -3576,7 +3576,7 @@ void __init console_init(void)
initcall_t *call; initcall_t *call;
/* Setup the default TTY line discipline. */ /* Setup the default TTY line discipline. */
tty_ldisc_begin(); n_tty_init();
/* /*
* set up the console device so that later boot sequences can * set up the console device so that later boot sequences can

View File

@ -824,9 +824,3 @@ void tty_ldisc_deinit(struct tty_struct *tty)
tty_ldisc_put(tty->ldisc); tty_ldisc_put(tty->ldisc);
tty->ldisc = NULL; tty->ldisc = NULL;
} }
void tty_ldisc_begin(void)
{
/* Setup the default TTY line discipline. */
(void) tty_register_ldisc(N_TTY, &tty_ldisc_N_TTY);
}

View File

@ -576,7 +576,6 @@ extern int tty_ldisc_setup(struct tty_struct *tty, struct tty_struct *o_tty);
extern void tty_ldisc_release(struct tty_struct *tty); extern void tty_ldisc_release(struct tty_struct *tty);
extern void tty_ldisc_init(struct tty_struct *tty); extern void tty_ldisc_init(struct tty_struct *tty);
extern void tty_ldisc_deinit(struct tty_struct *tty); extern void tty_ldisc_deinit(struct tty_struct *tty);
extern void tty_ldisc_begin(void);
static inline int tty_ldisc_receive_buf(struct tty_ldisc *ld, unsigned char *p, static inline int tty_ldisc_receive_buf(struct tty_ldisc *ld, unsigned char *p,
char *f, int count) char *f, int count)
@ -593,8 +592,8 @@ static inline int tty_ldisc_receive_buf(struct tty_ldisc *ld, unsigned char *p,
/* n_tty.c */ /* n_tty.c */
extern struct tty_ldisc_ops tty_ldisc_N_TTY;
extern void n_tty_inherit_ops(struct tty_ldisc_ops *ops); extern void n_tty_inherit_ops(struct tty_ldisc_ops *ops);
extern void __init n_tty_init(void);
/* tty_audit.c */ /* tty_audit.c */
#ifdef CONFIG_AUDIT #ifdef CONFIG_AUDIT