aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial/jsm/jsm_tty.c
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2007-10-17 02:27:05 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-17 11:42:52 -0400
commit7ba4b927f5fc9a5642adc5675b6d60c710dc8021 (patch)
tree230321d382ad8c62aa79fb7181fbf78ff5950cc9 /drivers/serial/jsm/jsm_tty.c
parent7f748bbd7f84034204a14928a048695ff8b9d8ca (diff)
jsm: Remove further unneeded crud
Remove some remaining vestiges of the old hacks jsm had to work around the old tty buffering. With the new tty buffering it simply doesn't matter any more. [michal.k.k.piotrowski@gmail.com: fix warning] Signed-off-by: Alan Cox <alan@redhat.com> Acked-by: Scott Kilau <scottk@digi.com> Cc: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/serial/jsm/jsm_tty.c')
-rw-r--r--drivers/serial/jsm/jsm_tty.c43
1 files changed, 3 insertions, 40 deletions
diff --git a/drivers/serial/jsm/jsm_tty.c b/drivers/serial/jsm/jsm_tty.c
index 281f23a371b2..94ec66372508 100644
--- a/drivers/serial/jsm/jsm_tty.c
+++ b/drivers/serial/jsm/jsm_tty.c
@@ -500,13 +500,11 @@ void jsm_input(struct jsm_channel *ch)
500{ 500{
501 struct jsm_board *bd; 501 struct jsm_board *bd;
502 struct tty_struct *tp; 502 struct tty_struct *tp;
503 struct tty_ldisc *ld;
504 u32 rmask; 503 u32 rmask;
505 u16 head; 504 u16 head;
506 u16 tail; 505 u16 tail;
507 int data_len; 506 int data_len;
508 unsigned long lock_flags; 507 unsigned long lock_flags;
509 int flip_len = 0;
510 int len = 0; 508 int len = 0;
511 int n = 0; 509 int n = 0;
512 int s = 0; 510 int s = 0;
@@ -574,45 +572,13 @@ void jsm_input(struct jsm_channel *ch)
574 572
575 jsm_printk(READ, INFO, &ch->ch_bd->pci_dev, "start 2\n"); 573 jsm_printk(READ, INFO, &ch->ch_bd->pci_dev, "start 2\n");
576 574
577 /* 575 if (data_len <= 0) {
578 * If the rxbuf is empty and we are not throttled, put as much
579 * as we can directly into the linux TTY buffer.
580 *
581 */
582 flip_len = TTY_FLIPBUF_SIZE;
583
584 len = min(data_len, flip_len);
585 len = min(len, (N_TTY_BUF_SIZE - 1) - tp->read_cnt);
586 ld = tty_ldisc_ref(tp);
587
588 /*
589 * If we were unable to get a reference to the ld,
590 * don't flush our buffer, and act like the ld doesn't
591 * have any space to put the data right now.
592 */
593 if (!ld) {
594 len = 0;
595 } else {
596 /*
597 * If ld doesn't have a pointer to a receive_buf function,
598 * flush the data, then act like the ld doesn't have any
599 * space to put the data right now.
600 */
601 if (!ld->receive_buf) {
602 ch->ch_r_head = ch->ch_r_tail;
603 len = 0;
604 }
605 }
606
607 if (len <= 0) {
608 spin_unlock_irqrestore(&ch->ch_lock, lock_flags); 576 spin_unlock_irqrestore(&ch->ch_lock, lock_flags);
609 jsm_printk(READ, INFO, &ch->ch_bd->pci_dev, "jsm_input 1\n"); 577 jsm_printk(READ, INFO, &ch->ch_bd->pci_dev, "jsm_input 1\n");
610 if (ld)
611 tty_ldisc_deref(ld);
612 return; 578 return;
613 } 579 }
614 580
615 len = tty_buffer_request_room(tp, len); 581 len = tty_buffer_request_room(tp, data_len);
616 n = len; 582 n = len;
617 583
618 /* 584 /*
@@ -647,7 +613,7 @@ void jsm_input(struct jsm_channel *ch)
647 else if (*(ch->ch_equeue +tail +i) & UART_LSR_FE) 613 else if (*(ch->ch_equeue +tail +i) & UART_LSR_FE)
648 tty_insert_flip_char(tp, *(ch->ch_rqueue +tail +i), TTY_FRAME); 614 tty_insert_flip_char(tp, *(ch->ch_rqueue +tail +i), TTY_FRAME);
649 else 615 else
650 tty_insert_flip_char(tp, *(ch->ch_rqueue +tail +i), TTY_NORMAL); 616 tty_insert_flip_char(tp, *(ch->ch_rqueue +tail +i), TTY_NORMAL);
651 } 617 }
652 } else { 618 } else {
653 tty_insert_flip_string(tp, ch->ch_rqueue + tail, s) ; 619 tty_insert_flip_string(tp, ch->ch_rqueue + tail, s) ;
@@ -666,9 +632,6 @@ void jsm_input(struct jsm_channel *ch)
666 /* Tell the tty layer its okay to "eat" the data now */ 632 /* Tell the tty layer its okay to "eat" the data now */
667 tty_flip_buffer_push(tp); 633 tty_flip_buffer_push(tp);
668 634
669 if (ld)
670 tty_ldisc_deref(ld);
671
672 jsm_printk(IOCTL, INFO, &ch->ch_bd->pci_dev, "finish\n"); 635 jsm_printk(IOCTL, INFO, &ch->ch_bd->pci_dev, "finish\n");
673} 636}
674 637