Commit bbbbb96f authored by Alan Cox's avatar Alan Cox Committed by Linus Torvalds

riscom/rocket: switch to int put_char method

Signed-off-by: default avatarAlan Cox <alan@redhat.com>
Cc: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent d7e752e2
...@@ -1161,16 +1161,17 @@ static int rc_write(struct tty_struct * tty, ...@@ -1161,16 +1161,17 @@ static int rc_write(struct tty_struct * tty,
return total; return total;
} }
static void rc_put_char(struct tty_struct * tty, unsigned char ch) static int rc_put_char(struct tty_struct * tty, unsigned char ch)
{ {
struct riscom_port *port = (struct riscom_port *)tty->driver_data; struct riscom_port *port = (struct riscom_port *)tty->driver_data;
unsigned long flags; unsigned long flags;
int ret = 0;
if (rc_paranoia_check(port, tty->name, "rc_put_char")) if (rc_paranoia_check(port, tty->name, "rc_put_char"))
return; return 0;
if (!tty || !port->xmit_buf) if (!tty || !port->xmit_buf)
return; return 0;
spin_lock_irqsave(&riscom_lock, flags); spin_lock_irqsave(&riscom_lock, flags);
...@@ -1180,9 +1181,11 @@ static void rc_put_char(struct tty_struct * tty, unsigned char ch) ...@@ -1180,9 +1181,11 @@ static void rc_put_char(struct tty_struct * tty, unsigned char ch)
port->xmit_buf[port->xmit_head++] = ch; port->xmit_buf[port->xmit_head++] = ch;
port->xmit_head &= SERIAL_XMIT_SIZE - 1; port->xmit_head &= SERIAL_XMIT_SIZE - 1;
port->xmit_cnt++; port->xmit_cnt++;
ret = 1;
out: out:
spin_unlock_irqrestore(&riscom_lock, flags); spin_unlock_irqrestore(&riscom_lock, flags);
return ret;
} }
static void rc_flush_chars(struct tty_struct * tty) static void rc_flush_chars(struct tty_struct * tty)
......
...@@ -1663,14 +1663,14 @@ static void rp_hangup(struct tty_struct *tty) ...@@ -1663,14 +1663,14 @@ static void rp_hangup(struct tty_struct *tty)
* writing routines will write directly to transmit FIFO. * writing routines will write directly to transmit FIFO.
* Write buffer and counters protected by spinlocks * Write buffer and counters protected by spinlocks
*/ */
static void rp_put_char(struct tty_struct *tty, unsigned char ch) static int rp_put_char(struct tty_struct *tty, unsigned char ch)
{ {
struct r_port *info = (struct r_port *) tty->driver_data; struct r_port *info = (struct r_port *) tty->driver_data;
CHANNEL_t *cp; CHANNEL_t *cp;
unsigned long flags; unsigned long flags;
if (rocket_paranoia_check(info, "rp_put_char")) if (rocket_paranoia_check(info, "rp_put_char"))
return; return 0;
/* /*
* Grab the port write mutex, locking out other processes that try to * Grab the port write mutex, locking out other processes that try to
...@@ -1699,6 +1699,7 @@ static void rp_put_char(struct tty_struct *tty, unsigned char ch) ...@@ -1699,6 +1699,7 @@ static void rp_put_char(struct tty_struct *tty, unsigned char ch)
} }
spin_unlock_irqrestore(&info->slock, flags); spin_unlock_irqrestore(&info->slock, flags);
mutex_unlock(&info->write_mtx); mutex_unlock(&info->write_mtx);
return 1;
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment