From 227434f8986c3827a1faedd1feb437acd6285315 Mon Sep 17 00:00:00 2001 From: Jiri Slaby Date: Thu, 3 Jan 2013 15:53:01 +0100 Subject: TTY: switch tty_buffer_request_room to tty_port Now, we start converting tty buffer functions to actually use tty_port. This will allow us to get rid of the need of tty pointer in many call sites. Only tty_port will be needed and hence no more tty_port_tty_get calls in those paths. Here we start with tty_buffer_request_room. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman --- drivers/isdn/i4l/isdn_common.c | 3 ++- drivers/isdn/i4l/isdn_tty.c | 12 +++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) (limited to 'drivers/isdn/i4l') diff --git a/drivers/isdn/i4l/isdn_common.c b/drivers/isdn/i4l/isdn_common.c index e2a945ee9f05..7093169ee0c9 100644 --- a/drivers/isdn/i4l/isdn_common.c +++ b/drivers/isdn/i4l/isdn_common.c @@ -878,6 +878,7 @@ isdn_readbchan(int di, int channel, u_char *buf, u_char *fp, int len, wait_queue int isdn_readbchan_tty(int di, int channel, struct tty_struct *tty, int cisco_hack) { + struct tty_port *port = tty->port; int count; int count_pull; int count_put; @@ -891,7 +892,7 @@ isdn_readbchan_tty(int di, int channel, struct tty_struct *tty, int cisco_hack) if (skb_queue_empty(&dev->drv[di]->rpqueue[channel])) return 0; - len = tty_buffer_request_room(tty, dev->drv[di]->rcvcount[channel]); + len = tty_buffer_request_room(port, dev->drv[di]->rcvcount[channel]); if (len == 0) return len; diff --git a/drivers/isdn/i4l/isdn_tty.c b/drivers/isdn/i4l/isdn_tty.c index e09dc8a5e743..4f5bcee7cf32 100644 --- a/drivers/isdn/i4l/isdn_tty.c +++ b/drivers/isdn/i4l/isdn_tty.c @@ -60,6 +60,7 @@ static int si2bit[8] = static int isdn_tty_try_read(modem_info *info, struct sk_buff *skb) { + struct tty_port *port = &info->port; int c; int len; struct tty_struct *tty; @@ -68,7 +69,7 @@ isdn_tty_try_read(modem_info *info, struct sk_buff *skb) if (!info->online) return 0; - tty = info->port.tty; + tty = port->tty; if (!tty) return 0; @@ -81,7 +82,7 @@ isdn_tty_try_read(modem_info *info, struct sk_buff *skb) #endif ; - c = tty_buffer_request_room(tty, len); + c = tty_buffer_request_room(port, len); if (c < len) return 0; @@ -2230,6 +2231,7 @@ void isdn_tty_at_cout(char *msg, modem_info *info) { struct tty_struct *tty; + struct tty_port *port = &info->port; atemu *m = &info->emu; char *p; char c; @@ -2246,15 +2248,15 @@ isdn_tty_at_cout(char *msg, modem_info *info) l = strlen(msg); spin_lock_irqsave(&info->readlock, flags); - tty = info->port.tty; - if ((info->port.flags & ASYNC_CLOSING) || (!tty)) { + tty = port->tty; + if ((port->flags & ASYNC_CLOSING) || (!tty)) { spin_unlock_irqrestore(&info->readlock, flags); return; } /* use queue instead of direct, if online and */ /* data is in queue or buffer is full */ - if (info->online && ((tty_buffer_request_room(tty, l) < l) || + if (info->online && ((tty_buffer_request_room(port, l) < l) || !skb_queue_empty(&dev->drv[info->isdn_driver]->rpqueue[info->isdn_channel]))) { skb = alloc_skb(l, GFP_ATOMIC); if (!skb) { -- cgit v1.2.3