diff options
author | Jiri Slaby <jslaby@suse.cz> | 2013-01-03 09:53:02 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-16 01:17:29 -0500 |
commit | 2f69335710884ae6112fc8196ebe29b5cda7b79b (patch) | |
tree | c97bec97e703faace437235d3bcbbf80c078ad21 | |
parent | 227434f8986c3827a1faedd1feb437acd6285315 (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.c | 2 | ||||
-rw-r--r-- | drivers/staging/fwserial/fwserial.c | 8 | ||||
-rw-r--r-- | drivers/tty/cyclades.c | 2 | ||||
-rw-r--r-- | drivers/tty/isicom.c | 4 | ||||
-rw-r--r-- | drivers/tty/moxa.c | 4 | ||||
-rw-r--r-- | drivers/tty/rocket.c | 2 | ||||
-rw-r--r-- | drivers/tty/serial/msm_smd_tty.c | 2 | ||||
-rw-r--r-- | drivers/tty/tty_buffer.c | 32 | ||||
-rw-r--r-- | drivers/usb/serial/ark3116.c | 2 | ||||
-rw-r--r-- | drivers/usb/serial/belkin_sa.c | 2 | ||||
-rw-r--r-- | drivers/usb/serial/cypress_m8.c | 2 | ||||
-rw-r--r-- | drivers/usb/serial/digi_acceleport.c | 4 | ||||
-rw-r--r-- | drivers/usb/serial/f81232.c | 2 | ||||
-rw-r--r-- | drivers/usb/serial/ftdi_sio.c | 2 | ||||
-rw-r--r-- | drivers/usb/serial/pl2303.c | 2 | ||||
-rw-r--r-- | drivers/usb/serial/spcp8x5.c | 2 | ||||
-rw-r--r-- | drivers/usb/serial/ssu100.c | 2 | ||||
-rw-r--r-- | include/linux/tty_flip.h | 16 |
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 | ||
271 | int tty_insert_flip_string_fixed_flag(struct tty_struct *tty, | 271 | int 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 | ||
317 | int tty_insert_flip_string_flags(struct tty_struct *tty, | 317 | int 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 | ||
392 | int tty_prepare_flip_string(struct tty_struct *tty, unsigned char **chars, | 392 | int 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 | ||
430 | int tty_prepare_flip_string_flags(struct tty_struct *tty, | 430 | int 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 | ||
4 | extern int tty_buffer_request_room(struct tty_port *port, size_t size); | 4 | extern int tty_buffer_request_room(struct tty_port *port, size_t size); |
5 | extern int tty_insert_flip_string_flags(struct tty_struct *tty, const unsigned char *chars, const char *flags, size_t size); | 5 | extern int tty_insert_flip_string_flags(struct tty_port *port, |
6 | extern 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); |
7 | extern int tty_prepare_flip_string(struct tty_struct *tty, unsigned char **chars, size_t size); | 7 | extern int tty_insert_flip_string_fixed_flag(struct tty_port *port, |
8 | extern 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); |
9 | extern int tty_prepare_flip_string(struct tty_port *port, | ||
10 | unsigned char **chars, size_t size); | ||
11 | extern int tty_prepare_flip_string_flags(struct tty_port *port, | ||
12 | unsigned char **chars, char **flags, size_t size); | ||
9 | void tty_schedule_flip(struct tty_struct *tty); | 13 | void tty_schedule_flip(struct tty_struct *tty); |
10 | 14 | ||
11 | static inline int tty_insert_flip_char(struct tty_struct *tty, | 15 | static 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 | ||
23 | static inline int tty_insert_flip_string(struct tty_struct *tty, const unsigned char *chars, size_t size) | 27 | static 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 */ |