Skip to content

Commit

Permalink
TTY: um/line, add tty_port
Browse files Browse the repository at this point in the history
And use count from there.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: user-mode-linux-devel@lists.sourceforge.net
Signed-off-by: Richard Weinberger <richard@nod.at>
  • Loading branch information
Jiri Slaby authored and Richard Weinberger committed Jul 28, 2012
1 parent 28a33cb commit 060ed31
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 4 deletions.
7 changes: 4 additions & 3 deletions arch/um/drivers/line.c
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,7 @@ int line_open(struct line *lines, struct tty_struct *tty)
goto out_unlock;

err = 0;
if (line->count++)
if (line->port.count++)
goto out_unlock;

BUG_ON(tty->driver_data);
Expand Down Expand Up @@ -446,7 +446,7 @@ void line_close(struct tty_struct *tty, struct file * filp)
mutex_lock(&line->count_lock);
BUG_ON(!line->valid);

if (--line->count)
if (--line->port.count)
goto out_unlock;

line->tty = NULL;
Expand Down Expand Up @@ -478,7 +478,7 @@ int setup_one_line(struct line *lines, int n, char *init,

mutex_lock(&line->count_lock);

if (line->count) {
if (line->port.count) {
*error_out = "Device is already open";
goto out;
}
Expand Down Expand Up @@ -663,6 +663,7 @@ int register_lines(struct line_driver *line_driver,
driver->init_termios = tty_std_termios;

for (i = 0; i < nlines; i++) {
tty_port_init(&lines[i].port);
spin_lock_init(&lines[i].lock);
mutex_init(&lines[i].count_lock);
lines[i].driver = line_driver;
Expand Down
2 changes: 1 addition & 1 deletion arch/um/drivers/line.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ struct line_driver {
};

struct line {
struct tty_port port;
struct tty_struct *tty;
struct mutex count_lock;
unsigned long count;
int valid;

char *init_str;
Expand Down

0 comments on commit 060ed31

Please sign in to comment.