summaryrefslogtreecommitdiff
path: root/drivers/serial/mcfserial.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/serial/mcfserial.h')
-rw-r--r--drivers/serial/mcfserial.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/drivers/serial/mcfserial.h b/drivers/serial/mcfserial.h
new file mode 100644
index 000000000000..a2b28e8629f9
--- /dev/null
+++ b/drivers/serial/mcfserial.h
@@ -0,0 +1,75 @@
+/*
+ * mcfserial.c -- serial driver for ColdFire internal UARTS.
+ *
+ * Copyright (c) 1999 Greg Ungerer <gerg@snapgear.com>
+ * Copyright (c) 2000-2001 Lineo, Inc. <www.lineo.com>
+ * Copyright (c) 2002 SnapGear Inc., <www.snapgear.com>
+ *
+ * Based on code from 68332serial.c which was:
+ *
+ * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
+ * Copyright (C) 1998 TSHG
+ * Copyright (c) 1999 Rt-Control Inc. <jeff@uclinux.org>
+ */
+#ifndef _MCF_SERIAL_H
+#define _MCF_SERIAL_H
+
+#include <linux/config.h>
+#include <linux/serial.h>
+
+#ifdef __KERNEL__
+
+/*
+ * Define a local serial stats structure.
+ */
+
+struct mcf_stats {
+ unsigned int rx;
+ unsigned int tx;
+ unsigned int rxbreak;
+ unsigned int rxframing;
+ unsigned int rxparity;
+ unsigned int rxoverrun;
+};
+
+
+/*
+ * This is our internal structure for each serial port's state.
+ * Each serial port has one of these structures associated with it.
+ */
+
+struct mcf_serial {
+ int magic;
+ volatile unsigned char *addr; /* UART memory address */
+ int irq;
+ int flags; /* defined in tty.h */
+ int type; /* UART type */
+ struct tty_struct *tty;
+ unsigned char imr; /* Software imr register */
+ unsigned int baud;
+ int sigs;
+ int custom_divisor;
+ int x_char; /* xon/xoff character */
+ int baud_base;
+ int close_delay;
+ unsigned short closing_wait;
+ unsigned short closing_wait2;
+ unsigned long event;
+ int line;
+ int count; /* # of fd on device */
+ int blocked_open; /* # of blocked opens */
+ unsigned char *xmit_buf;
+ int xmit_head;
+ int xmit_tail;
+ int xmit_cnt;
+ struct mcf_stats stats;
+ struct work_struct tqueue;
+ struct work_struct tqueue_hangup;
+ wait_queue_head_t open_wait;
+ wait_queue_head_t close_wait;
+
+};
+
+#endif /* __KERNEL__ */
+
+#endif /* _MCF_SERIAL_H */