patch-2.1.36 linux/include/asm-m68k/serial.h
Next file: linux/include/asm-m68k/setup.h
Previous file: linux/include/asm-m68k/semaphore.h
Back to the patch index
Back to the overall index
- Lines: 68
- Date:
Thu Apr 17 13:20:50 1997
- Orig file:
v2.1.35/linux/include/asm-m68k/serial.h
- Orig date:
Fri Dec 20 01:20:03 1996
diff -u --recursive --new-file v2.1.35/linux/include/asm-m68k/serial.h linux/include/asm-m68k/serial.h
@@ -171,7 +171,10 @@
*/
struct serial_icounter_struct {
int cts, dsr, rng, dcd;
- int reserved[16];
+ int rx, tx;
+ int frame, overrun, parity, brk;
+ int buf_overrun;
+ int reserved[9];
};
@@ -192,7 +195,9 @@
* Counters of the input lines (CTS, DSR, RI, CD) interrupts
*/
struct async_icount {
- __u32 cts, dsr, rng, dcd;
+ __u32 cts, dsr, rng, dcd, tx, rx;
+ __u32 frame, parity, overrun, brk;
+ __u32 buf_overrun;
};
struct async_struct {
@@ -281,7 +286,7 @@
static __inline__ void rs_sched_event(struct async_struct *info, int event)
{
info->event |= 1 << event;
- queue_task_irq(&info->tqueue, &tq_serial);
+ queue_task(&info->tqueue, &tq_serial);
mark_bh(SERIAL_BH);
}
@@ -299,7 +304,8 @@
}
*tty->flip.flag_buf_ptr++ = err;
*tty->flip.char_buf_ptr++ = ch;
- queue_task_irq(&tty->flip.tqueue, &tq_timer);
+ info->icount.rx++;
+ queue_task(&tty->flip.tqueue, &tq_timer);
}
static __inline__ int rs_get_tx_char( struct async_struct *info )
@@ -308,6 +314,7 @@
if (info->x_char) {
ch = info->x_char;
+ info->icount.tx++;
info->x_char = 0;
return( ch );
}
@@ -317,6 +324,7 @@
ch = info->xmit_buf[info->xmit_tail++];
info->xmit_tail &= SERIAL_XMIT_SIZE - 1;
+ info->icount.tx++;
if (--info->xmit_cnt < WAKEUP_CHARS)
rs_sched_event(info, RS_EVENT_WRITE_WAKEUP);
return( ch );
@@ -348,8 +356,7 @@
#ifdef SERIAL_DEBUG_OPEN
printk("scheduling hangup...");
#endif
- queue_task_irq(&info->tqueue_hangup,
- &tq_scheduler);
+ queue_task(&info->tqueue_hangup, &tq_scheduler);
}
}
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov