Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc4f0248 authored by Richard Weinberger's avatar Richard Weinberger
Browse files

um: Use tty_port_operations->destruct



As we setup the SIGWINCH handler in tty_port_operations->activate
it makes sense to tear down it in ->destruct.

Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
parent 72383d43
Loading
Loading
Loading
Loading
+14 −12
Original line number Diff line number Diff line
@@ -315,8 +315,22 @@ static int line_activate(struct tty_port *port, struct tty_struct *tty)
	return 0;
}

static void unregister_winch(struct tty_struct *tty);

static void line_destruct(struct tty_port *port)
{
	struct tty_struct *tty = tty_port_tty_get(port);
	struct line *line = tty->driver_data;

	if (line->sigio) {
		unregister_winch(tty);
		line->sigio = 0;
	}
}

static const struct tty_port_operations line_port_ops = {
	.activate = line_activate,
	.destruct = line_destruct,
};

int line_open(struct tty_struct *tty, struct file *filp)
@@ -340,18 +354,6 @@ int line_install(struct tty_driver *driver, struct tty_struct *tty,
	return 0;
}

static void unregister_winch(struct tty_struct *tty);

void line_cleanup(struct tty_struct *tty)
{
	struct line *line = tty->driver_data;

	if (line->sigio) {
		unregister_winch(tty);
		line->sigio = 0;
	}
}

void line_close(struct tty_struct *tty, struct file * filp)
{
	struct line *line = tty->driver_data;
+0 −1
Original line number Diff line number Diff line
@@ -105,7 +105,6 @@ static const struct tty_operations ssl_ops = {
	.throttle 		= line_throttle,
	.unthrottle 		= line_unthrottle,
	.install		= ssl_install,
	.cleanup		= line_cleanup,
	.hangup			= line_hangup,
};

+0 −1
Original line number Diff line number Diff line
@@ -110,7 +110,6 @@ static const struct tty_operations console_ops = {
	.set_termios 		= line_set_termios,
	.throttle 		= line_throttle,
	.unthrottle 		= line_unthrottle,
	.cleanup		= line_cleanup,
	.hangup			= line_hangup,
};