diff options
author | Jiri Slaby <jslaby@suse.cz> | 2013-01-03 09:53:04 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-16 01:22:35 -0500 |
commit | 05c7cd39907184328f48d3e7899f9cdd653ad336 (patch) | |
tree | 9d1ed5c757426aa20b7eccd853faa6b519a4aa7b /drivers/tty | |
parent | 92a19f9cec9a80ad93c06e115822deb729e2c6ad (diff) |
TTY: switch tty_insert_flip_string
Now, we start converting tty buffer functions to actually use
tty_port. This will allow us to get rid of the need of tty in many
call sites. Only tty_port will needed and hence no more
tty_port_tty_get in those paths.
tty_insert_flip_string this time.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/bfin_jtag_comm.c | 2 | ||||
-rw-r--r-- | drivers/tty/ehv_bytechan.c | 2 | ||||
-rw-r--r-- | drivers/tty/hvc/hvcs.c | 2 | ||||
-rw-r--r-- | drivers/tty/ipwireless/tty.c | 2 | ||||
-rw-r--r-- | drivers/tty/n_gsm.c | 2 | ||||
-rw-r--r-- | drivers/tty/nozomi.c | 14 | ||||
-rw-r--r-- | drivers/tty/pty.c | 2 | ||||
-rw-r--r-- | drivers/tty/serial/amba-pl011.c | 6 | ||||
-rw-r--r-- | drivers/tty/serial/atmel_serial.c | 6 | ||||
-rw-r--r-- | drivers/tty/serial/crisv10.c | 2 | ||||
-rw-r--r-- | drivers/tty/serial/icom.c | 2 | ||||
-rw-r--r-- | drivers/tty/serial/ifx6x60.c | 2 | ||||
-rw-r--r-- | drivers/tty/serial/ioc3_serial.c | 3 | ||||
-rw-r--r-- | drivers/tty/serial/ioc4_serial.c | 2 | ||||
-rw-r--r-- | drivers/tty/serial/jsm/jsm_tty.c | 2 | ||||
-rw-r--r-- | drivers/tty/serial/mfd.c | 5 | ||||
-rw-r--r-- | drivers/tty/serial/mrst_max3110.c | 2 | ||||
-rw-r--r-- | drivers/tty/serial/msm_serial.c | 2 | ||||
-rw-r--r-- | drivers/tty/serial/msm_serial_hs.c | 2 | ||||
-rw-r--r-- | drivers/tty/serial/mxs-auart.c | 5 | ||||
-rw-r--r-- | drivers/tty/serial/pch_uart.c | 10 | ||||
-rw-r--r-- | drivers/tty/serial/sunhv.c | 13 |
22 files changed, 46 insertions, 44 deletions
diff --git a/drivers/tty/bfin_jtag_comm.c b/drivers/tty/bfin_jtag_comm.c index 1cfcdbf1d0cc..143c38579cb5 100644 --- a/drivers/tty/bfin_jtag_comm.c +++ b/drivers/tty/bfin_jtag_comm.c | |||
@@ -104,7 +104,7 @@ bfin_jc_emudat_manager(void *arg) | |||
104 | size_t num_chars = (4 <= inbound_len ? 4 : inbound_len); | 104 | size_t num_chars = (4 <= inbound_len ? 4 : inbound_len); |
105 | pr_debug(" incoming data: 0x%08x (pushing %zu)\n", emudat, num_chars); | 105 | pr_debug(" incoming data: 0x%08x (pushing %zu)\n", emudat, num_chars); |
106 | inbound_len -= num_chars; | 106 | inbound_len -= num_chars; |
107 | tty_insert_flip_string(tty, (unsigned char *)&emudat, num_chars); | 107 | tty_insert_flip_string(&port, (unsigned char *)&emudat, num_chars); |
108 | tty_flip_buffer_push(tty); | 108 | tty_flip_buffer_push(tty); |
109 | } | 109 | } |
110 | } | 110 | } |
diff --git a/drivers/tty/ehv_bytechan.c b/drivers/tty/ehv_bytechan.c index af97e39d641c..5164f9a57017 100644 --- a/drivers/tty/ehv_bytechan.c +++ b/drivers/tty/ehv_bytechan.c | |||
@@ -407,7 +407,7 @@ static irqreturn_t ehv_bc_tty_rx_isr(int irq, void *data) | |||
407 | */ | 407 | */ |
408 | 408 | ||
409 | /* Pass the received data to the tty layer. */ | 409 | /* Pass the received data to the tty layer. */ |
410 | ret = tty_insert_flip_string(ttys, buffer, len); | 410 | ret = tty_insert_flip_string(&bc->port, buffer, len); |
411 | 411 | ||
412 | /* 'ret' is the number of bytes that the TTY layer accepted. | 412 | /* 'ret' is the number of bytes that the TTY layer accepted. |
413 | * If it's not equal to 'len', then it means the buffer is | 413 | * If it's not equal to 'len', then it means the buffer is |
diff --git a/drivers/tty/hvc/hvcs.c b/drivers/tty/hvc/hvcs.c index 4a0ab98e9a63..7bfc0a924b2f 100644 --- a/drivers/tty/hvc/hvcs.c +++ b/drivers/tty/hvc/hvcs.c | |||
@@ -613,7 +613,7 @@ static int hvcs_io(struct hvcs_struct *hvcsd) | |||
613 | got = hvc_get_chars(unit_address, | 613 | got = hvc_get_chars(unit_address, |
614 | &buf[0], | 614 | &buf[0], |
615 | HVCS_BUFF_LEN); | 615 | HVCS_BUFF_LEN); |
616 | tty_insert_flip_string(tty, buf, got); | 616 | tty_insert_flip_string(&hvcsd->port, buf, got); |
617 | } | 617 | } |
618 | 618 | ||
619 | /* Give the TTY time to process the data we just sent. */ | 619 | /* Give the TTY time to process the data we just sent. */ |
diff --git a/drivers/tty/ipwireless/tty.c b/drivers/tty/ipwireless/tty.c index 2cde13ddf9fc..a3ad5e14cbef 100644 --- a/drivers/tty/ipwireless/tty.c +++ b/drivers/tty/ipwireless/tty.c | |||
@@ -176,7 +176,7 @@ void ipwireless_tty_received(struct ipw_tty *tty, unsigned char *data, | |||
176 | } | 176 | } |
177 | mutex_unlock(&tty->ipw_tty_mutex); | 177 | mutex_unlock(&tty->ipw_tty_mutex); |
178 | 178 | ||
179 | work = tty_insert_flip_string(linux_tty, data, length); | 179 | work = tty_insert_flip_string(&tty->port, data, length); |
180 | 180 | ||
181 | if (work != length) | 181 | if (work != length) |
182 | printk(KERN_DEBUG IPWIRELESS_PCCARD_NAME | 182 | printk(KERN_DEBUG IPWIRELESS_PCCARD_NAME |
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c index 769016504c88..4a3342d21c8f 100644 --- a/drivers/tty/n_gsm.c +++ b/drivers/tty/n_gsm.c | |||
@@ -1578,7 +1578,7 @@ static void gsm_dlci_data(struct gsm_dlci *dlci, u8 *data, int clen) | |||
1578 | /* Line state will go via DLCI 0 controls only */ | 1578 | /* Line state will go via DLCI 0 controls only */ |
1579 | case 1: | 1579 | case 1: |
1580 | default: | 1580 | default: |
1581 | tty_insert_flip_string(tty, data, len); | 1581 | tty_insert_flip_string(port, data, len); |
1582 | tty_flip_buffer_push(tty); | 1582 | tty_flip_buffer_push(tty); |
1583 | } | 1583 | } |
1584 | tty_kref_put(tty); | 1584 | tty_kref_put(tty); |
diff --git a/drivers/tty/nozomi.c b/drivers/tty/nozomi.c index 437a6366fb7b..941fe8060ea5 100644 --- a/drivers/tty/nozomi.c +++ b/drivers/tty/nozomi.c | |||
@@ -827,15 +827,10 @@ static int receive_data(enum port_type index, struct nozomi *dc) | |||
827 | struct tty_struct *tty = tty_port_tty_get(&port->port); | 827 | struct tty_struct *tty = tty_port_tty_get(&port->port); |
828 | int i, ret; | 828 | int i, ret; |
829 | 829 | ||
830 | if (unlikely(!tty)) { | ||
831 | DBG1("tty not open for port: %d?", index); | ||
832 | return 1; | ||
833 | } | ||
834 | |||
835 | read_mem32((u32 *) &size, addr, 4); | 830 | read_mem32((u32 *) &size, addr, 4); |
836 | /* DBG1( "%d bytes port: %d", size, index); */ | 831 | /* DBG1( "%d bytes port: %d", size, index); */ |
837 | 832 | ||
838 | if (test_bit(TTY_THROTTLED, &tty->flags)) { | 833 | if (tty && test_bit(TTY_THROTTLED, &tty->flags)) { |
839 | DBG1("No room in tty, don't read data, don't ack interrupt, " | 834 | DBG1("No room in tty, don't read data, don't ack interrupt, " |
840 | "disable interrupt"); | 835 | "disable interrupt"); |
841 | 836 | ||
@@ -858,10 +853,11 @@ static int receive_data(enum port_type index, struct nozomi *dc) | |||
858 | tty_insert_flip_char(&port->port, buf[0], TTY_NORMAL); | 853 | tty_insert_flip_char(&port->port, buf[0], TTY_NORMAL); |
859 | size = 0; | 854 | size = 0; |
860 | } else if (size < RECEIVE_BUF_MAX) { | 855 | } else if (size < RECEIVE_BUF_MAX) { |
861 | size -= tty_insert_flip_string(tty, (char *) buf, size); | 856 | size -= tty_insert_flip_string(&port->port, |
857 | (char *)buf, size); | ||
862 | } else { | 858 | } else { |
863 | i = tty_insert_flip_string(tty, \ | 859 | i = tty_insert_flip_string(&port->port, |
864 | (char *) buf, RECEIVE_BUF_MAX); | 860 | (char *)buf, RECEIVE_BUF_MAX); |
865 | size -= i; | 861 | size -= i; |
866 | offset += i; | 862 | offset += i; |
867 | } | 863 | } |
diff --git a/drivers/tty/pty.c b/drivers/tty/pty.c index be6a373601b7..3c285d398f38 100644 --- a/drivers/tty/pty.c +++ b/drivers/tty/pty.c | |||
@@ -120,7 +120,7 @@ static int pty_write(struct tty_struct *tty, const unsigned char *buf, int c) | |||
120 | 120 | ||
121 | if (c > 0) { | 121 | if (c > 0) { |
122 | /* Stuff the data into the input queue of the other end */ | 122 | /* Stuff the data into the input queue of the other end */ |
123 | c = tty_insert_flip_string(to, buf, c); | 123 | c = tty_insert_flip_string(to->port, buf, c); |
124 | /* And shovel */ | 124 | /* And shovel */ |
125 | if (c) { | 125 | if (c) { |
126 | tty_flip_buffer_push(to); | 126 | tty_flip_buffer_push(to); |
diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c index 7fca4022a8b2..e1257d17f5f0 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c | |||
@@ -698,7 +698,8 @@ static void pl011_dma_rx_chars(struct uart_amba_port *uap, | |||
698 | u32 pending, bool use_buf_b, | 698 | u32 pending, bool use_buf_b, |
699 | bool readfifo) | 699 | bool readfifo) |
700 | { | 700 | { |
701 | struct tty_struct *tty = uap->port.state->port.tty; | 701 | struct tty_port *port = &uap->port.state->port; |
702 | struct tty_struct *tty = port->tty; | ||
702 | struct pl011_sgbuf *sgbuf = use_buf_b ? | 703 | struct pl011_sgbuf *sgbuf = use_buf_b ? |
703 | &uap->dmarx.sgbuf_b : &uap->dmarx.sgbuf_a; | 704 | &uap->dmarx.sgbuf_b : &uap->dmarx.sgbuf_a; |
704 | struct device *dev = uap->dmarx.chan->device->dev; | 705 | struct device *dev = uap->dmarx.chan->device->dev; |
@@ -715,8 +716,7 @@ static void pl011_dma_rx_chars(struct uart_amba_port *uap, | |||
715 | * Note that tty_insert_flip_buf() tries to take as many chars | 716 | * Note that tty_insert_flip_buf() tries to take as many chars |
716 | * as it can. | 717 | * as it can. |
717 | */ | 718 | */ |
718 | dma_count = tty_insert_flip_string(uap->port.state->port.tty, | 719 | dma_count = tty_insert_flip_string(port, sgbuf->buf, pending); |
719 | sgbuf->buf, pending); | ||
720 | 720 | ||
721 | /* Return buffer to device */ | 721 | /* Return buffer to device */ |
722 | dma_sync_sg_for_device(dev, &sgbuf->sg, 1, DMA_FROM_DEVICE); | 722 | dma_sync_sg_for_device(dev, &sgbuf->sg, 1, DMA_FROM_DEVICE); |
diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c index 922e85aeb63a..929567038c5a 100644 --- a/drivers/tty/serial/atmel_serial.c +++ b/drivers/tty/serial/atmel_serial.c | |||
@@ -781,7 +781,8 @@ static void atmel_rx_from_ring(struct uart_port *port) | |||
781 | static void atmel_rx_from_dma(struct uart_port *port) | 781 | static void atmel_rx_from_dma(struct uart_port *port) |
782 | { | 782 | { |
783 | struct atmel_uart_port *atmel_port = to_atmel_uart_port(port); | 783 | struct atmel_uart_port *atmel_port = to_atmel_uart_port(port); |
784 | struct tty_struct *tty = port->state->port.tty; | 784 | struct tty_port *tport = &port->state->port; |
785 | struct tty_struct *tty = tport->tty; | ||
785 | struct atmel_dma_buffer *pdc; | 786 | struct atmel_dma_buffer *pdc; |
786 | int rx_idx = atmel_port->pdc_rx_idx; | 787 | int rx_idx = atmel_port->pdc_rx_idx; |
787 | unsigned int head; | 788 | unsigned int head; |
@@ -820,7 +821,8 @@ static void atmel_rx_from_dma(struct uart_port *port) | |||
820 | */ | 821 | */ |
821 | count = head - tail; | 822 | count = head - tail; |
822 | 823 | ||
823 | tty_insert_flip_string(tty, pdc->buf + pdc->ofs, count); | 824 | tty_insert_flip_string(tport, pdc->buf + pdc->ofs, |
825 | count); | ||
824 | 826 | ||
825 | dma_sync_single_for_device(port->dev, pdc->dma_addr, | 827 | dma_sync_single_for_device(port->dev, pdc->dma_addr, |
826 | pdc->dma_size, DMA_FROM_DEVICE); | 828 | pdc->dma_size, DMA_FROM_DEVICE); |
diff --git a/drivers/tty/serial/crisv10.c b/drivers/tty/serial/crisv10.c index d12306625458..c82601d4dc53 100644 --- a/drivers/tty/serial/crisv10.c +++ b/drivers/tty/serial/crisv10.c | |||
@@ -2119,7 +2119,7 @@ static void flush_to_flip_buffer(struct e100_serial *info) | |||
2119 | while ((buffer = info->first_recv_buffer) != NULL) { | 2119 | while ((buffer = info->first_recv_buffer) != NULL) { |
2120 | unsigned int count = buffer->length; | 2120 | unsigned int count = buffer->length; |
2121 | 2121 | ||
2122 | tty_insert_flip_string(tty, buffer->buffer, count); | 2122 | tty_insert_flip_string(&info->port, buffer->buffer, count); |
2123 | info->recv_cnt -= count; | 2123 | info->recv_cnt -= count; |
2124 | 2124 | ||
2125 | if (count == buffer->length) { | 2125 | if (count == buffer->length) { |
diff --git a/drivers/tty/serial/icom.c b/drivers/tty/serial/icom.c index 2b0b60ff7f01..54903ee5e5ab 100644 --- a/drivers/tty/serial/icom.c +++ b/drivers/tty/serial/icom.c | |||
@@ -762,7 +762,7 @@ static void recv_interrupt(u16 port_int_reg, struct icom_port *icom_port) | |||
762 | /* Block copy all but the last byte as this may have status */ | 762 | /* Block copy all but the last byte as this may have status */ |
763 | if (count > 0) { | 763 | if (count > 0) { |
764 | first = icom_port->recv_buf[offset]; | 764 | first = icom_port->recv_buf[offset]; |
765 | tty_insert_flip_string(tty, icom_port->recv_buf + offset, count - 1); | 765 | tty_insert_flip_string(port, icom_port->recv_buf + offset, count - 1); |
766 | } | 766 | } |
767 | 767 | ||
768 | icount = &icom_port->uart_port.icount; | 768 | icount = &icom_port->uart_port.icount; |
diff --git a/drivers/tty/serial/ifx6x60.c b/drivers/tty/serial/ifx6x60.c index 675d94ab0aff..bfb634ea8145 100644 --- a/drivers/tty/serial/ifx6x60.c +++ b/drivers/tty/serial/ifx6x60.c | |||
@@ -672,7 +672,7 @@ static void ifx_spi_insert_flip_string(struct ifx_spi_device *ifx_dev, | |||
672 | struct tty_struct *tty = tty_port_tty_get(&ifx_dev->tty_port); | 672 | struct tty_struct *tty = tty_port_tty_get(&ifx_dev->tty_port); |
673 | if (!tty) | 673 | if (!tty) |
674 | return; | 674 | return; |
675 | tty_insert_flip_string(tty, chars, size); | 675 | tty_insert_flip_string(&ifx_dev->tty_port, chars, size); |
676 | tty_flip_buffer_push(tty); | 676 | tty_flip_buffer_push(tty); |
677 | tty_kref_put(tty); | 677 | tty_kref_put(tty); |
678 | } | 678 | } |
diff --git a/drivers/tty/serial/ioc3_serial.c b/drivers/tty/serial/ioc3_serial.c index d8f1d1d54471..0f25ce49c7f9 100644 --- a/drivers/tty/serial/ioc3_serial.c +++ b/drivers/tty/serial/ioc3_serial.c | |||
@@ -1415,7 +1415,8 @@ static int receive_chars(struct uart_port *the_port) | |||
1415 | read_count = do_read(the_port, ch, MAX_CHARS); | 1415 | read_count = do_read(the_port, ch, MAX_CHARS); |
1416 | if (read_count > 0) { | 1416 | if (read_count > 0) { |
1417 | flip = 1; | 1417 | flip = 1; |
1418 | read_room = tty_insert_flip_string(tty, ch, read_count); | 1418 | read_room = tty_insert_flip_string(&state->port, ch, |
1419 | read_count); | ||
1419 | the_port->icount.rx += read_count; | 1420 | the_port->icount.rx += read_count; |
1420 | } | 1421 | } |
1421 | spin_unlock_irqrestore(&the_port->lock, pflags); | 1422 | spin_unlock_irqrestore(&the_port->lock, pflags); |
diff --git a/drivers/tty/serial/ioc4_serial.c b/drivers/tty/serial/ioc4_serial.c index 710ce87ffbeb..3b021b03ae56 100644 --- a/drivers/tty/serial/ioc4_serial.c +++ b/drivers/tty/serial/ioc4_serial.c | |||
@@ -2362,7 +2362,7 @@ static void receive_chars(struct uart_port *the_port) | |||
2362 | icount = &the_port->icount; | 2362 | icount = &the_port->icount; |
2363 | read_count = do_read(the_port, ch, request_count); | 2363 | read_count = do_read(the_port, ch, request_count); |
2364 | if (read_count > 0) { | 2364 | if (read_count > 0) { |
2365 | tty_insert_flip_string(tty, ch, read_count); | 2365 | tty_insert_flip_string(&state->port, ch, read_count); |
2366 | icount->rx += read_count; | 2366 | icount->rx += read_count; |
2367 | } | 2367 | } |
2368 | } | 2368 | } |
diff --git a/drivers/tty/serial/jsm/jsm_tty.c b/drivers/tty/serial/jsm/jsm_tty.c index ac1d36cb2032..c9ce00dd1f8a 100644 --- a/drivers/tty/serial/jsm/jsm_tty.c +++ b/drivers/tty/serial/jsm/jsm_tty.c | |||
@@ -640,7 +640,7 @@ void jsm_input(struct jsm_channel *ch) | |||
640 | tty_insert_flip_char(port, *(ch->ch_rqueue +tail +i), TTY_NORMAL); | 640 | tty_insert_flip_char(port, *(ch->ch_rqueue +tail +i), TTY_NORMAL); |
641 | } | 641 | } |
642 | } else { | 642 | } else { |
643 | tty_insert_flip_string(tp, ch->ch_rqueue + tail, s) ; | 643 | tty_insert_flip_string(port, ch->ch_rqueue + tail, s); |
644 | } | 644 | } |
645 | tail += s; | 645 | tail += s; |
646 | n -= s; | 646 | n -= s; |
diff --git a/drivers/tty/serial/mfd.c b/drivers/tty/serial/mfd.c index 2c01344dc332..60d585ab4870 100644 --- a/drivers/tty/serial/mfd.c +++ b/drivers/tty/serial/mfd.c | |||
@@ -387,7 +387,8 @@ void hsu_dma_rx(struct uart_hsu_port *up, u32 int_sts) | |||
387 | struct hsu_dma_buffer *dbuf = &up->rxbuf; | 387 | struct hsu_dma_buffer *dbuf = &up->rxbuf; |
388 | struct hsu_dma_chan *chan = up->rxc; | 388 | struct hsu_dma_chan *chan = up->rxc; |
389 | struct uart_port *port = &up->port; | 389 | struct uart_port *port = &up->port; |
390 | struct tty_struct *tty = port->state->port.tty; | 390 | struct tty_port *tport = &port->state->port; |
391 | struct tty_struct *tty = tport->tty; | ||
391 | int count; | 392 | int count; |
392 | 393 | ||
393 | if (!tty) | 394 | if (!tty) |
@@ -423,7 +424,7 @@ void hsu_dma_rx(struct uart_hsu_port *up, u32 int_sts) | |||
423 | * explicitly set tail to 0. So head will | 424 | * explicitly set tail to 0. So head will |
424 | * always be greater than tail. | 425 | * always be greater than tail. |
425 | */ | 426 | */ |
426 | tty_insert_flip_string(tty, dbuf->buf, count); | 427 | tty_insert_flip_string(tport, dbuf->buf, count); |
427 | port->icount.rx += count; | 428 | port->icount.rx += count; |
428 | 429 | ||
429 | dma_sync_single_for_device(up->port.dev, dbuf->dma_addr, | 430 | dma_sync_single_for_device(up->port.dev, dbuf->dma_addr, |
diff --git a/drivers/tty/serial/mrst_max3110.c b/drivers/tty/serial/mrst_max3110.c index 776431ff0190..3b8df7b93b73 100644 --- a/drivers/tty/serial/mrst_max3110.c +++ b/drivers/tty/serial/mrst_max3110.c | |||
@@ -374,7 +374,7 @@ receive_chars(struct uart_max3110 *max, unsigned short *str, int len) | |||
374 | for (r = 0; w; r += usable, w -= usable) { | 374 | for (r = 0; w; r += usable, w -= usable) { |
375 | usable = tty_buffer_request_room(tport, w); | 375 | usable = tty_buffer_request_room(tport, w); |
376 | if (usable) { | 376 | if (usable) { |
377 | tty_insert_flip_string(tty, buf + r, usable); | 377 | tty_insert_flip_string(tport, buf + r, usable); |
378 | port->icount.rx += usable; | 378 | port->icount.rx += usable; |
379 | } | 379 | } |
380 | } | 380 | } |
diff --git a/drivers/tty/serial/msm_serial.c b/drivers/tty/serial/msm_serial.c index e4eb81a12793..cb787c0e279a 100644 --- a/drivers/tty/serial/msm_serial.c +++ b/drivers/tty/serial/msm_serial.c | |||
@@ -133,7 +133,7 @@ static void handle_rx_dm(struct uart_port *port, unsigned int misr) | |||
133 | port->icount.frame++; | 133 | port->icount.frame++; |
134 | 134 | ||
135 | /* TODO: handle sysrq */ | 135 | /* TODO: handle sysrq */ |
136 | tty_insert_flip_string(tty, (char *) &c, | 136 | tty_insert_flip_string(tport, (char *)&c, |
137 | (count > 4) ? 4 : count); | 137 | (count > 4) ? 4 : count); |
138 | count -= 4; | 138 | count -= 4; |
139 | } | 139 | } |
diff --git a/drivers/tty/serial/msm_serial_hs.c b/drivers/tty/serial/msm_serial_hs.c index 6aa9d470ef54..11b7f5b2eb5f 100644 --- a/drivers/tty/serial/msm_serial_hs.c +++ b/drivers/tty/serial/msm_serial_hs.c | |||
@@ -961,7 +961,7 @@ static void msm_hs_dmov_rx_callback(struct msm_dmov_cmd *cmd_ptr, | |||
961 | rx_count = msm_hs_read(uport, UARTDM_RX_TOTAL_SNAP_ADDR); | 961 | rx_count = msm_hs_read(uport, UARTDM_RX_TOTAL_SNAP_ADDR); |
962 | 962 | ||
963 | if (0 != (uport->read_status_mask & CREAD)) { | 963 | if (0 != (uport->read_status_mask & CREAD)) { |
964 | retval = tty_insert_flip_string(tty, msm_uport->rx.buffer, | 964 | retval = tty_insert_flip_string(port, msm_uport->rx.buffer, |
965 | rx_count); | 965 | rx_count); |
966 | BUG_ON(retval != rx_count); | 966 | BUG_ON(retval != rx_count); |
967 | } | 967 | } |
diff --git a/drivers/tty/serial/mxs-auart.c b/drivers/tty/serial/mxs-auart.c index fa31bc38b105..37a0046ef531 100644 --- a/drivers/tty/serial/mxs-auart.c +++ b/drivers/tty/serial/mxs-auart.c | |||
@@ -457,7 +457,8 @@ static int mxs_auart_dma_prep_rx(struct mxs_auart_port *s); | |||
457 | static void dma_rx_callback(void *arg) | 457 | static void dma_rx_callback(void *arg) |
458 | { | 458 | { |
459 | struct mxs_auart_port *s = (struct mxs_auart_port *) arg; | 459 | struct mxs_auart_port *s = (struct mxs_auart_port *) arg; |
460 | struct tty_struct *tty = s->port.state->port.tty; | 460 | struct tty_port *port = &s->port.state->port; |
461 | struct tty_struct *tty = port->tty; | ||
461 | int count; | 462 | int count; |
462 | u32 stat; | 463 | u32 stat; |
463 | 464 | ||
@@ -468,7 +469,7 @@ static void dma_rx_callback(void *arg) | |||
468 | AUART_STAT_PERR | AUART_STAT_FERR); | 469 | AUART_STAT_PERR | AUART_STAT_FERR); |
469 | 470 | ||
470 | count = stat & AUART_STAT_RXCOUNT_MASK; | 471 | count = stat & AUART_STAT_RXCOUNT_MASK; |
471 | tty_insert_flip_string(tty, s->rx_dma_buf, count); | 472 | tty_insert_flip_string(port, s->rx_dma_buf, count); |
472 | 473 | ||
473 | writel(stat, s->port.membase + AUART_STAT); | 474 | writel(stat, s->port.membase + AUART_STAT); |
474 | tty_flip_buffer_push(tty); | 475 | tty_flip_buffer_push(tty); |
diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c index 4f1774be2a8c..967f1cb311f3 100644 --- a/drivers/tty/serial/pch_uart.c +++ b/drivers/tty/serial/pch_uart.c | |||
@@ -591,17 +591,17 @@ static void pch_uart_hal_set_break(struct eg20t_port *priv, int on) | |||
591 | static int push_rx(struct eg20t_port *priv, const unsigned char *buf, | 591 | static int push_rx(struct eg20t_port *priv, const unsigned char *buf, |
592 | int size) | 592 | int size) |
593 | { | 593 | { |
594 | struct uart_port *port; | 594 | struct uart_port *port = &priv->port; |
595 | struct tty_port *tport = &port->state->port; | ||
595 | struct tty_struct *tty; | 596 | struct tty_struct *tty; |
596 | 597 | ||
597 | port = &priv->port; | 598 | tty = tty_port_tty_get(tport); |
598 | tty = tty_port_tty_get(&port->state->port); | ||
599 | if (!tty) { | 599 | if (!tty) { |
600 | dev_dbg(priv->port.dev, "%s:tty is busy now", __func__); | 600 | dev_dbg(priv->port.dev, "%s:tty is busy now", __func__); |
601 | return -EBUSY; | 601 | return -EBUSY; |
602 | } | 602 | } |
603 | 603 | ||
604 | tty_insert_flip_string(tty, buf, size); | 604 | tty_insert_flip_string(tport, buf, size); |
605 | tty_flip_buffer_push(tty); | 605 | tty_flip_buffer_push(tty); |
606 | tty_kref_put(tty); | 606 | tty_kref_put(tty); |
607 | 607 | ||
@@ -646,7 +646,7 @@ static int dma_push_rx(struct eg20t_port *priv, int size) | |||
646 | if (!room) | 646 | if (!room) |
647 | return room; | 647 | return room; |
648 | 648 | ||
649 | tty_insert_flip_string(tty, sg_virt(&priv->sg_rx), size); | 649 | tty_insert_flip_string(tport, sg_virt(&priv->sg_rx), size); |
650 | 650 | ||
651 | port->icount.rx += room; | 651 | port->icount.rx += room; |
652 | tty_kref_put(tty); | 652 | tty_kref_put(tty); |
diff --git a/drivers/tty/serial/sunhv.c b/drivers/tty/serial/sunhv.c index bbb102e3c035..defe92b19e16 100644 --- a/drivers/tty/serial/sunhv.c +++ b/drivers/tty/serial/sunhv.c | |||
@@ -72,7 +72,7 @@ static void transmit_chars_write(struct uart_port *port, struct circ_buf *xmit) | |||
72 | } | 72 | } |
73 | } | 73 | } |
74 | 74 | ||
75 | static int receive_chars_getchar(struct uart_port *port, struct tty_struct *tty) | 75 | static int receive_chars_getchar(struct uart_port *port) |
76 | { | 76 | { |
77 | int saw_console_brk = 0; | 77 | int saw_console_brk = 0; |
78 | int limit = 10000; | 78 | int limit = 10000; |
@@ -115,7 +115,7 @@ static int receive_chars_getchar(struct uart_port *port, struct tty_struct *tty) | |||
115 | return saw_console_brk; | 115 | return saw_console_brk; |
116 | } | 116 | } |
117 | 117 | ||
118 | static int receive_chars_read(struct uart_port *port, struct tty_struct *tty) | 118 | static int receive_chars_read(struct uart_port *port) |
119 | { | 119 | { |
120 | int saw_console_brk = 0; | 120 | int saw_console_brk = 0; |
121 | int limit = 10000; | 121 | int limit = 10000; |
@@ -152,12 +152,13 @@ static int receive_chars_read(struct uart_port *port, struct tty_struct *tty) | |||
152 | for (i = 0; i < bytes_read; i++) | 152 | for (i = 0; i < bytes_read; i++) |
153 | uart_handle_sysrq_char(port, con_read_page[i]); | 153 | uart_handle_sysrq_char(port, con_read_page[i]); |
154 | 154 | ||
155 | if (tty == NULL) | 155 | if (port->state == NULL) |
156 | continue; | 156 | continue; |
157 | 157 | ||
158 | port->icount.rx += bytes_read; | 158 | port->icount.rx += bytes_read; |
159 | 159 | ||
160 | tty_insert_flip_string(tty, con_read_page, bytes_read); | 160 | tty_insert_flip_string(&port->state->port, con_read_page, |
161 | bytes_read); | ||
161 | } | 162 | } |
162 | 163 | ||
163 | return saw_console_brk; | 164 | return saw_console_brk; |
@@ -165,7 +166,7 @@ static int receive_chars_read(struct uart_port *port, struct tty_struct *tty) | |||
165 | 166 | ||
166 | struct sunhv_ops { | 167 | struct sunhv_ops { |
167 | void (*transmit_chars)(struct uart_port *port, struct circ_buf *xmit); | 168 | void (*transmit_chars)(struct uart_port *port, struct circ_buf *xmit); |
168 | int (*receive_chars)(struct uart_port *port, struct tty_struct *tty); | 169 | int (*receive_chars)(struct uart_port *port); |
169 | }; | 170 | }; |
170 | 171 | ||
171 | static struct sunhv_ops bychar_ops = { | 172 | static struct sunhv_ops bychar_ops = { |
@@ -187,7 +188,7 @@ static struct tty_struct *receive_chars(struct uart_port *port) | |||
187 | if (port->state != NULL) /* Unopened serial console */ | 188 | if (port->state != NULL) /* Unopened serial console */ |
188 | tty = port->state->port.tty; | 189 | tty = port->state->port.tty; |
189 | 190 | ||
190 | if (sunhv_ops->receive_chars(port, tty)) | 191 | if (sunhv_ops->receive_chars(port)) |
191 | sun_do_break(); | 192 | sun_do_break(); |
192 | 193 | ||
193 | return tty; | 194 | return tty; |