aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Slaby <jslaby@suse.cz>2013-01-03 09:53:02 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-16 01:17:29 -0500
commit2f69335710884ae6112fc8196ebe29b5cda7b79b (patch)
treec97bec97e703faace437235d3bcbbf80c078ad21
parent227434f8986c3827a1faedd1feb437acd6285315 (diff)
TTY: convert more flipping functions
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. Now 4 string flipping ones are on turn: * tty_insert_flip_string_flags * tty_insert_flip_string_fixed_flag * tty_prepare_flip_string * tty_prepare_flip_string_flags Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/dgrp/dgrp_net_ops.c2
-rw-r--r--drivers/staging/fwserial/fwserial.c8
-rw-r--r--drivers/tty/cyclades.c2
-rw-r--r--drivers/tty/isicom.c4
-rw-r--r--drivers/tty/moxa.c4
-rw-r--r--drivers/tty/rocket.c2
-rw-r--r--drivers/tty/serial/msm_smd_tty.c2
-rw-r--r--drivers/tty/tty_buffer.c32
-rw-r--r--drivers/usb/serial/ark3116.c2
-rw-r--r--drivers/usb/serial/belkin_sa.c2
-rw-r--r--drivers/usb/serial/cypress_m8.c2
-rw-r--r--drivers/usb/serial/digi_acceleport.c4
-rw-r--r--drivers/usb/serial/f81232.c2
-rw-r--r--drivers/usb/serial/ftdi_sio.c2
-rw-r--r--drivers/usb/serial/pl2303.c2
-rw-r--r--drivers/usb/serial/spcp8x5.c2
-rw-r--r--drivers/usb/serial/ssu100.c2
-rw-r--r--include/linux/tty_flip.h16
18 files changed, 49 insertions, 43 deletions
diff --git a/drivers/staging/dgrp/dgrp_net_ops.c b/drivers/staging/dgrp/dgrp_net_ops.c
index c0aeaaa094f1..df3ebcdf7ed8 100644
--- a/drivers/staging/dgrp/dgrp_net_ops.c
+++ b/drivers/staging/dgrp/dgrp_net_ops.c
@@ -232,7 +232,7 @@ static void dgrp_input(struct ch_struct *ch)
232 (nd->nd_dpa_port == PORT_NUM(MINOR(tty_devnum(tty))))) 232 (nd->nd_dpa_port == PORT_NUM(MINOR(tty_devnum(tty)))))
233 dgrp_dpa_data(nd, 1, myflipbuf, len); 233 dgrp_dpa_data(nd, 1, myflipbuf, len);
234 234
235 tty_insert_flip_string_flags(tty, myflipbuf, 235 tty_insert_flip_string_flags(&ch->port, myflipbuf,
236 myflipflagbuf, len); 236 myflipflagbuf, len);
237 tty_flip_buffer_push(tty); 237 tty_flip_buffer_push(tty);
238 238
diff --git a/drivers/staging/fwserial/fwserial.c b/drivers/staging/fwserial/fwserial.c
index 61ee29083b26..85dbdc1eccec 100644
--- a/drivers/staging/fwserial/fwserial.c
+++ b/drivers/staging/fwserial/fwserial.c
@@ -507,7 +507,8 @@ static void fwtty_emit_breaks(struct work_struct *work)
507 507
508 while (n) { 508 while (n) {
509 t = min(n, 16); 509 t = min(n, 16);
510 c = tty_insert_flip_string_fixed_flag(tty, buf, TTY_BREAK, t); 510 c = tty_insert_flip_string_fixed_flag(&port->port, buf,
511 TTY_BREAK, t);
511 n -= c; 512 n -= c;
512 brk += c; 513 brk += c;
513 if (c < t) 514 if (c < t)
@@ -535,7 +536,7 @@ static void fwtty_pushrx(struct work_struct *work)
535 536
536 spin_lock_bh(&port->lock); 537 spin_lock_bh(&port->lock);
537 list_for_each_entry_safe(buf, next, &port->buf_list, list) { 538 list_for_each_entry_safe(buf, next, &port->buf_list, list) {
538 n = tty_insert_flip_string_fixed_flag(tty, buf->data, 539 n = tty_insert_flip_string_fixed_flag(&port->port, buf->data,
539 TTY_NORMAL, buf->n); 540 TTY_NORMAL, buf->n);
540 c += n; 541 c += n;
541 port->buffered -= n; 542 port->buffered -= n;
@@ -630,7 +631,8 @@ static int fwtty_rx(struct fwtty_port *port, unsigned char *data, size_t len)
630 } 631 }
631 632
632 if (!test_bit(BUFFERING_RX, &port->flags)) { 633 if (!test_bit(BUFFERING_RX, &port->flags)) {
633 c = tty_insert_flip_string_fixed_flag(tty, data, TTY_NORMAL, n); 634 c = tty_insert_flip_string_fixed_flag(&port->port, data,
635 TTY_NORMAL, n);
634 if (c > 0) 636 if (c > 0)
635 tty_flip_buffer_push(tty); 637 tty_flip_buffer_push(tty);
636 n -= c; 638 n -= c;
diff --git a/drivers/tty/cyclades.c b/drivers/tty/cyclades.c
index b85acc74eb0d..0b7573dbf439 100644
--- a/drivers/tty/cyclades.c
+++ b/drivers/tty/cyclades.c
@@ -968,7 +968,7 @@ static void cyz_handle_rx(struct cyclades_port *info, struct tty_struct *tty)
968 for performance, but because of buffer boundaries, there 968 for performance, but because of buffer boundaries, there
969 may be several steps to the operation */ 969 may be several steps to the operation */
970 while (1) { 970 while (1) {
971 len = tty_prepare_flip_string(tty, &buf, 971 len = tty_prepare_flip_string(port, &buf,
972 char_count); 972 char_count);
973 if (!len) 973 if (!len)
974 break; 974 break;
diff --git a/drivers/tty/isicom.c b/drivers/tty/isicom.c
index 3205b2e9090b..e9fc15f00f48 100644
--- a/drivers/tty/isicom.c
+++ b/drivers/tty/isicom.c
@@ -650,8 +650,8 @@ static irqreturn_t isicom_interrupt(int irq, void *dev_id)
650 break; 650 break;
651 } 651 }
652 } else { /* Data Packet */ 652 } else { /* Data Packet */
653 653 count = tty_prepare_flip_string(&port->port, &rp,
654 count = tty_prepare_flip_string(tty, &rp, byte_count & ~1); 654 byte_count & ~1);
655 pr_debug("%s: Can rx %d of %d bytes.\n", 655 pr_debug("%s: Can rx %d of %d bytes.\n",
656 __func__, count, byte_count); 656 __func__, count, byte_count);
657 word_count = count >> 1; 657 word_count = count >> 1;
diff --git a/drivers/tty/moxa.c b/drivers/tty/moxa.c
index f9d28503bdec..fcaac4870d5f 100644
--- a/drivers/tty/moxa.c
+++ b/drivers/tty/moxa.c
@@ -1966,7 +1966,7 @@ static int MoxaPortReadData(struct moxa_port *port)
1966 ofs = baseAddr + DynPage_addr + bufhead + head; 1966 ofs = baseAddr + DynPage_addr + bufhead + head;
1967 len = (tail >= head) ? (tail - head) : 1967 len = (tail >= head) ? (tail - head) :
1968 (rx_mask + 1 - head); 1968 (rx_mask + 1 - head);
1969 len = tty_prepare_flip_string(tty, &dst, 1969 len = tty_prepare_flip_string(&port->port, &dst,
1970 min(len, count)); 1970 min(len, count));
1971 memcpy_fromio(dst, ofs, len); 1971 memcpy_fromio(dst, ofs, len);
1972 head = (head + len) & rx_mask; 1972 head = (head + len) & rx_mask;
@@ -1978,7 +1978,7 @@ static int MoxaPortReadData(struct moxa_port *port)
1978 while (count > 0) { 1978 while (count > 0) {
1979 writew(pageno, baseAddr + Control_reg); 1979 writew(pageno, baseAddr + Control_reg);
1980 ofs = baseAddr + DynPage_addr + pageofs; 1980 ofs = baseAddr + DynPage_addr + pageofs;
1981 len = tty_prepare_flip_string(tty, &dst, 1981 len = tty_prepare_flip_string(&port->port, &dst,
1982 min(Page_size - pageofs, count)); 1982 min(Page_size - pageofs, count));
1983 memcpy_fromio(dst, ofs, len); 1983 memcpy_fromio(dst, ofs, len);
1984 1984
diff --git a/drivers/tty/rocket.c b/drivers/tty/rocket.c
index e42009a00529..77d7bc94afaa 100644
--- a/drivers/tty/rocket.c
+++ b/drivers/tty/rocket.c
@@ -399,7 +399,7 @@ static void rp_do_receive(struct r_port *info,
399 * characters at time by doing repeated word IO 399 * characters at time by doing repeated word IO
400 * transfer. 400 * transfer.
401 */ 401 */
402 space = tty_prepare_flip_string(tty, &cbuf, ToRecv); 402 space = tty_prepare_flip_string(&info->port, &cbuf, ToRecv);
403 if (space < ToRecv) { 403 if (space < ToRecv) {
404#ifdef ROCKET_DEBUG_RECEIVE 404#ifdef ROCKET_DEBUG_RECEIVE
405 printk(KERN_INFO "rp_do_receive:insufficient space ToRecv=%d space=%d\n", ToRecv, space); 405 printk(KERN_INFO "rp_do_receive:insufficient space ToRecv=%d space=%d\n", ToRecv, space);
diff --git a/drivers/tty/serial/msm_smd_tty.c b/drivers/tty/serial/msm_smd_tty.c
index 925d1fa153db..b43b4ec39269 100644
--- a/drivers/tty/serial/msm_smd_tty.c
+++ b/drivers/tty/serial/msm_smd_tty.c
@@ -70,7 +70,7 @@ static void smd_tty_notify(void *priv, unsigned event)
70 if (avail == 0) 70 if (avail == 0)
71 break; 71 break;
72 72
73 avail = tty_prepare_flip_string(tty, &ptr, avail); 73 avail = tty_prepare_flip_string(&info->port, &ptr, avail);
74 74
75 if (smd_read(info->ch, ptr, avail) != avail) { 75 if (smd_read(info->ch, ptr, avail) != avail) {
76 /* shouldn't be possible since we're in interrupt 76 /* shouldn't be possible since we're in interrupt
diff --git a/drivers/tty/tty_buffer.c b/drivers/tty/tty_buffer.c
index f897332fb4ee..31873e42602a 100644
--- a/drivers/tty/tty_buffer.c
+++ b/drivers/tty/tty_buffer.c
@@ -257,7 +257,7 @@ EXPORT_SYMBOL_GPL(tty_buffer_request_room);
257 257
258/** 258/**
259 * tty_insert_flip_string_fixed_flag - Add characters to the tty buffer 259 * tty_insert_flip_string_fixed_flag - Add characters to the tty buffer
260 * @tty: tty structure 260 * @port: tty port
261 * @chars: characters 261 * @chars: characters
262 * @flag: flag value for each character 262 * @flag: flag value for each character
263 * @size: size 263 * @size: size
@@ -268,10 +268,10 @@ EXPORT_SYMBOL_GPL(tty_buffer_request_room);
268 * Locking: Called functions may take port->buf.lock 268 * Locking: Called functions may take port->buf.lock
269 */ 269 */
270 270
271int tty_insert_flip_string_fixed_flag(struct tty_struct *tty, 271int tty_insert_flip_string_fixed_flag(struct tty_port *port,
272 const unsigned char *chars, char flag, size_t size) 272 const unsigned char *chars, char flag, size_t size)
273{ 273{
274 struct tty_bufhead *buf = &tty->port->buf; 274 struct tty_bufhead *buf = &port->buf;
275 int copied = 0; 275 int copied = 0;
276 do { 276 do {
277 int goal = min_t(size_t, size - copied, TTY_BUFFER_PAGE); 277 int goal = min_t(size_t, size - copied, TTY_BUFFER_PAGE);
@@ -280,7 +280,7 @@ int tty_insert_flip_string_fixed_flag(struct tty_struct *tty,
280 struct tty_buffer *tb; 280 struct tty_buffer *tb;
281 281
282 spin_lock_irqsave(&buf->lock, flags); 282 spin_lock_irqsave(&buf->lock, flags);
283 space = __tty_buffer_request_room(tty->port, goal); 283 space = __tty_buffer_request_room(port, goal);
284 tb = buf->tail; 284 tb = buf->tail;
285 /* If there is no space then tb may be NULL */ 285 /* If there is no space then tb may be NULL */
286 if (unlikely(space == 0)) { 286 if (unlikely(space == 0)) {
@@ -302,7 +302,7 @@ EXPORT_SYMBOL(tty_insert_flip_string_fixed_flag);
302 302
303/** 303/**
304 * tty_insert_flip_string_flags - Add characters to the tty buffer 304 * tty_insert_flip_string_flags - Add characters to the tty buffer
305 * @tty: tty structure 305 * @port: tty port
306 * @chars: characters 306 * @chars: characters
307 * @flags: flag bytes 307 * @flags: flag bytes
308 * @size: size 308 * @size: size
@@ -314,10 +314,10 @@ EXPORT_SYMBOL(tty_insert_flip_string_fixed_flag);
314 * Locking: Called functions may take port->buf.lock 314 * Locking: Called functions may take port->buf.lock
315 */ 315 */
316 316
317int tty_insert_flip_string_flags(struct tty_struct *tty, 317int tty_insert_flip_string_flags(struct tty_port *port,
318 const unsigned char *chars, const char *flags, size_t size) 318 const unsigned char *chars, const char *flags, size_t size)
319{ 319{
320 struct tty_bufhead *buf = &tty->port->buf; 320 struct tty_bufhead *buf = &port->buf;
321 int copied = 0; 321 int copied = 0;
322 do { 322 do {
323 int goal = min_t(size_t, size - copied, TTY_BUFFER_PAGE); 323 int goal = min_t(size_t, size - copied, TTY_BUFFER_PAGE);
@@ -326,7 +326,7 @@ int tty_insert_flip_string_flags(struct tty_struct *tty,
326 struct tty_buffer *tb; 326 struct tty_buffer *tb;
327 327
328 spin_lock_irqsave(&buf->lock, __flags); 328 spin_lock_irqsave(&buf->lock, __flags);
329 space = __tty_buffer_request_room(tty->port, goal); 329 space = __tty_buffer_request_room(port, goal);
330 tb = buf->tail; 330 tb = buf->tail;
331 /* If there is no space then tb may be NULL */ 331 /* If there is no space then tb may be NULL */
332 if (unlikely(space == 0)) { 332 if (unlikely(space == 0)) {
@@ -376,7 +376,7 @@ EXPORT_SYMBOL(tty_schedule_flip);
376 376
377/** 377/**
378 * tty_prepare_flip_string - make room for characters 378 * tty_prepare_flip_string - make room for characters
379 * @tty: tty 379 * @port: tty port
380 * @chars: return pointer for character write area 380 * @chars: return pointer for character write area
381 * @size: desired size 381 * @size: desired size
382 * 382 *
@@ -389,16 +389,16 @@ EXPORT_SYMBOL(tty_schedule_flip);
389 * Locking: May call functions taking port->buf.lock 389 * Locking: May call functions taking port->buf.lock
390 */ 390 */
391 391
392int tty_prepare_flip_string(struct tty_struct *tty, unsigned char **chars, 392int tty_prepare_flip_string(struct tty_port *port, unsigned char **chars,
393 size_t size) 393 size_t size)
394{ 394{
395 struct tty_bufhead *buf = &tty->port->buf; 395 struct tty_bufhead *buf = &port->buf;
396 int space; 396 int space;
397 unsigned long flags; 397 unsigned long flags;
398 struct tty_buffer *tb; 398 struct tty_buffer *tb;
399 399
400 spin_lock_irqsave(&buf->lock, flags); 400 spin_lock_irqsave(&buf->lock, flags);
401 space = __tty_buffer_request_room(tty->port, size); 401 space = __tty_buffer_request_room(port, size);
402 402
403 tb = buf->tail; 403 tb = buf->tail;
404 if (likely(space)) { 404 if (likely(space)) {
@@ -413,7 +413,7 @@ EXPORT_SYMBOL_GPL(tty_prepare_flip_string);
413 413
414/** 414/**
415 * tty_prepare_flip_string_flags - make room for characters 415 * tty_prepare_flip_string_flags - make room for characters
416 * @tty: tty 416 * @port: tty port
417 * @chars: return pointer for character write area 417 * @chars: return pointer for character write area
418 * @flags: return pointer for status flag write area 418 * @flags: return pointer for status flag write area
419 * @size: desired size 419 * @size: desired size
@@ -427,16 +427,16 @@ EXPORT_SYMBOL_GPL(tty_prepare_flip_string);
427 * Locking: May call functions taking port->buf.lock 427 * Locking: May call functions taking port->buf.lock
428 */ 428 */
429 429
430int tty_prepare_flip_string_flags(struct tty_struct *tty, 430int tty_prepare_flip_string_flags(struct tty_port *port,
431 unsigned char **chars, char **flags, size_t size) 431 unsigned char **chars, char **flags, size_t size)
432{ 432{
433 struct tty_bufhead *buf = &tty->port->buf; 433 struct tty_bufhead *buf = &port->buf;
434 int space; 434 int space;
435 unsigned long __flags; 435 unsigned long __flags;
436 struct tty_buffer *tb; 436 struct tty_buffer *tb;
437 437
438 spin_lock_irqsave(&buf->lock, __flags); 438 spin_lock_irqsave(&buf->lock, __flags);
439 space = __tty_buffer_request_room(tty->port, size); 439 space = __tty_buffer_request_room(port, size);
440 440
441 tb = buf->tail; 441 tb = buf->tail;
442 if (likely(space)) { 442 if (likely(space)) {
diff --git a/drivers/usb/serial/ark3116.c b/drivers/usb/serial/ark3116.c
index a88882c0e237..e2d653d00ea2 100644
--- a/drivers/usb/serial/ark3116.c
+++ b/drivers/usb/serial/ark3116.c
@@ -705,7 +705,7 @@ static void ark3116_process_read_urb(struct urb *urb)
705 if (lsr & UART_LSR_OE) 705 if (lsr & UART_LSR_OE)
706 tty_insert_flip_char(tty, 0, TTY_OVERRUN); 706 tty_insert_flip_char(tty, 0, TTY_OVERRUN);
707 } 707 }
708 tty_insert_flip_string_fixed_flag(tty, data, tty_flag, 708 tty_insert_flip_string_fixed_flag(&port->port, data, tty_flag,
709 urb->actual_length); 709 urb->actual_length);
710 tty_flip_buffer_push(tty); 710 tty_flip_buffer_push(tty);
711 tty_kref_put(tty); 711 tty_kref_put(tty);
diff --git a/drivers/usb/serial/belkin_sa.c b/drivers/usb/serial/belkin_sa.c
index b72a4c166705..a213d1be9462 100644
--- a/drivers/usb/serial/belkin_sa.c
+++ b/drivers/usb/serial/belkin_sa.c
@@ -279,7 +279,7 @@ static void belkin_sa_process_read_urb(struct urb *urb)
279 tty_insert_flip_char(tty, 0, TTY_OVERRUN); 279 tty_insert_flip_char(tty, 0, TTY_OVERRUN);
280 } 280 }
281 281
282 tty_insert_flip_string_fixed_flag(tty, data, tty_flag, 282 tty_insert_flip_string_fixed_flag(&port->port, data, tty_flag,
283 urb->actual_length); 283 urb->actual_length);
284 tty_flip_buffer_push(tty); 284 tty_flip_buffer_push(tty);
285 tty_kref_put(tty); 285 tty_kref_put(tty);
diff --git a/drivers/usb/serial/cypress_m8.c b/drivers/usb/serial/cypress_m8.c
index fd8c35fd452e..ac14e3eb95ea 100644
--- a/drivers/usb/serial/cypress_m8.c
+++ b/drivers/usb/serial/cypress_m8.c
@@ -1215,7 +1215,7 @@ static void cypress_read_int_callback(struct urb *urb)
1215 1215
1216 /* process read if there is data other than line status */ 1216 /* process read if there is data other than line status */
1217 if (tty && bytes > i) { 1217 if (tty && bytes > i) {
1218 tty_insert_flip_string_fixed_flag(tty, data + i, 1218 tty_insert_flip_string_fixed_flag(&port->port, data + i,
1219 tty_flag, bytes - i); 1219 tty_flag, bytes - i);
1220 tty_flip_buffer_push(tty); 1220 tty_flip_buffer_push(tty);
1221 } 1221 }
diff --git a/drivers/usb/serial/digi_acceleport.c b/drivers/usb/serial/digi_acceleport.c
index 45d4af62967f..efbc4035410c 100644
--- a/drivers/usb/serial/digi_acceleport.c
+++ b/drivers/usb/serial/digi_acceleport.c
@@ -1455,8 +1455,8 @@ static int digi_read_inb_callback(struct urb *urb)
1455 /* data length is len-1 (one byte of len is port_status) */ 1455 /* data length is len-1 (one byte of len is port_status) */
1456 --len; 1456 --len;
1457 if (len > 0) { 1457 if (len > 0) {
1458 tty_insert_flip_string_fixed_flag(tty, data, flag, 1458 tty_insert_flip_string_fixed_flag(&port->port, data,
1459 len); 1459 flag, len);
1460 tty_flip_buffer_push(tty); 1460 tty_flip_buffer_push(tty);
1461 } 1461 }
1462 } 1462 }
diff --git a/drivers/usb/serial/f81232.c b/drivers/usb/serial/f81232.c
index 6e4eb57d0177..a8c6430bf1b3 100644
--- a/drivers/usb/serial/f81232.c
+++ b/drivers/usb/serial/f81232.c
@@ -140,7 +140,7 @@ static void f81232_process_read_urb(struct urb *urb)
140 if (!usb_serial_handle_sysrq_char(port, data[i])) 140 if (!usb_serial_handle_sysrq_char(port, data[i]))
141 tty_insert_flip_char(tty, data[i], tty_flag); 141 tty_insert_flip_char(tty, data[i], tty_flag);
142 } else { 142 } else {
143 tty_insert_flip_string_fixed_flag(tty, data, tty_flag, 143 tty_insert_flip_string_fixed_flag(&port->port, data, tty_flag,
144 urb->actual_length); 144 urb->actual_length);
145 } 145 }
146 146
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 0a373b3ae96a..0416d952a448 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -2032,7 +2032,7 @@ static int ftdi_process_packet(struct tty_struct *tty,
2032 tty_insert_flip_char(tty, *ch, flag); 2032 tty_insert_flip_char(tty, *ch, flag);
2033 } 2033 }
2034 } else { 2034 } else {
2035 tty_insert_flip_string_fixed_flag(tty, ch, flag, len); 2035 tty_insert_flip_string_fixed_flag(&port->port, ch, flag, len);
2036 } 2036 }
2037 2037
2038 return len; 2038 return len;
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
index 600241901361..86789b0477c5 100644
--- a/drivers/usb/serial/pl2303.c
+++ b/drivers/usb/serial/pl2303.c
@@ -812,7 +812,7 @@ static void pl2303_process_read_urb(struct urb *urb)
812 if (!usb_serial_handle_sysrq_char(port, data[i])) 812 if (!usb_serial_handle_sysrq_char(port, data[i]))
813 tty_insert_flip_char(tty, data[i], tty_flag); 813 tty_insert_flip_char(tty, data[i], tty_flag);
814 } else { 814 } else {
815 tty_insert_flip_string_fixed_flag(tty, data, tty_flag, 815 tty_insert_flip_string_fixed_flag(&port->port, data, tty_flag,
816 urb->actual_length); 816 urb->actual_length);
817 } 817 }
818 818
diff --git a/drivers/usb/serial/spcp8x5.c b/drivers/usb/serial/spcp8x5.c
index a42536af1256..fa42f1b907d0 100644
--- a/drivers/usb/serial/spcp8x5.c
+++ b/drivers/usb/serial/spcp8x5.c
@@ -505,7 +505,7 @@ static void spcp8x5_process_read_urb(struct urb *urb)
505 priv->line_status & MSR_STATUS_LINE_DCD); 505 priv->line_status & MSR_STATUS_LINE_DCD);
506 } 506 }
507 507
508 tty_insert_flip_string_fixed_flag(tty, data, tty_flag, 508 tty_insert_flip_string_fixed_flag(&port->port, data, tty_flag,
509 urb->actual_length); 509 urb->actual_length);
510 tty_flip_buffer_push(tty); 510 tty_flip_buffer_push(tty);
511 tty_kref_put(tty); 511 tty_kref_put(tty);
diff --git a/drivers/usb/serial/ssu100.c b/drivers/usb/serial/ssu100.c
index 4543ea350229..37476c6240c2 100644
--- a/drivers/usb/serial/ssu100.c
+++ b/drivers/usb/serial/ssu100.c
@@ -617,7 +617,7 @@ static int ssu100_process_packet(struct urb *urb,
617 tty_insert_flip_char(tty, *ch, flag); 617 tty_insert_flip_char(tty, *ch, flag);
618 } 618 }
619 } else 619 } else
620 tty_insert_flip_string_fixed_flag(tty, ch, flag, len); 620 tty_insert_flip_string_fixed_flag(&port->port, ch, flag, len);
621 621
622 return len; 622 return len;
623} 623}
diff --git a/include/linux/tty_flip.h b/include/linux/tty_flip.h
index 78207ca8fab1..743f1d076467 100644
--- a/include/linux/tty_flip.h
+++ b/include/linux/tty_flip.h
@@ -2,10 +2,14 @@
2#define _LINUX_TTY_FLIP_H 2#define _LINUX_TTY_FLIP_H
3 3
4extern int tty_buffer_request_room(struct tty_port *port, size_t size); 4extern int tty_buffer_request_room(struct tty_port *port, size_t size);
5extern int tty_insert_flip_string_flags(struct tty_struct *tty, const unsigned char *chars, const char *flags, size_t size); 5extern int tty_insert_flip_string_flags(struct tty_port *port,
6extern int tty_insert_flip_string_fixed_flag(struct tty_struct *tty, const unsigned char *chars, char flag, size_t size); 6 const unsigned char *chars, const char *flags, size_t size);
7extern int tty_prepare_flip_string(struct tty_struct *tty, unsigned char **chars, size_t size); 7extern int tty_insert_flip_string_fixed_flag(struct tty_port *port,
8extern int tty_prepare_flip_string_flags(struct tty_struct *tty, unsigned char **chars, char **flags, size_t size); 8 const unsigned char *chars, char flag, size_t size);
9extern int tty_prepare_flip_string(struct tty_port *port,
10 unsigned char **chars, size_t size);
11extern int tty_prepare_flip_string_flags(struct tty_port *port,
12 unsigned char **chars, char **flags, size_t size);
9void tty_schedule_flip(struct tty_struct *tty); 13void tty_schedule_flip(struct tty_struct *tty);
10 14
11static inline int tty_insert_flip_char(struct tty_struct *tty, 15static inline int tty_insert_flip_char(struct tty_struct *tty,
@@ -17,12 +21,12 @@ static inline int tty_insert_flip_char(struct tty_struct *tty,
17 tb->char_buf_ptr[tb->used++] = ch; 21 tb->char_buf_ptr[tb->used++] = ch;
18 return 1; 22 return 1;
19 } 23 }
20 return tty_insert_flip_string_flags(tty, &ch, &flag, 1); 24 return tty_insert_flip_string_flags(tty->port, &ch, &flag, 1);
21} 25}
22 26
23static inline int tty_insert_flip_string(struct tty_struct *tty, const unsigned char *chars, size_t size) 27static inline int tty_insert_flip_string(struct tty_struct *tty, const unsigned char *chars, size_t size)
24{ 28{
25 return tty_insert_flip_string_fixed_flag(tty, chars, TTY_NORMAL, size); 29 return tty_insert_flip_string_fixed_flag(tty->port, chars, TTY_NORMAL, size);
26} 30}
27 31
28#endif /* _LINUX_TTY_FLIP_H */ 32#endif /* _LINUX_TTY_FLIP_H */