vserver 1.9.5.x5
[linux-2.6.git] / include / linux / serial_core.h
index daffe8c..c45598d 100644 (file)
@@ -17,6 +17,8 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
+#ifndef LINUX_SERIAL_CORE_H
+#define LINUX_SERIAL_CORE_H
 
 /*
  * The type definitions.  These are from Ted Ts'o's serial.h
 /* MPC52xx type numbers */
 #define PORT_MPC52xx   59
 
+/* IBM icom */
+#define PORT_ICOM      60
+
+/* Samsung S3C2440 SoC */
+#define PORT_S3C2440   61
+
+/* Motorola i.MX SoC */
+#define PORT_IMX       62
+
+/* Marvell MPSC */
+#define PORT_MPSC      63
+
+/* TXX9 type number */
+#define PORT_TXX9       64
+
 #ifdef __KERNEL__
 
 #include <linux/config.h>
 #include <linux/circ_buf.h>
 #include <linux/spinlock.h>
 #include <linux/sched.h>
+#include <linux/tty.h>
 
 struct uart_port;
 struct uart_info;
@@ -165,7 +183,7 @@ struct uart_icount {
 struct uart_port {
        spinlock_t              lock;                   /* port lock */
        unsigned int            iobase;                 /* in/out[bwl] */
-       char                    *membase;               /* read/write[bwl] */
+       unsigned char __iomem   *membase;               /* read/write[bwl] */
        unsigned int            irq;                    /* irq number */
        unsigned int            uartclk;                /* base uart clock */
        unsigned char           fifosize;               /* tx fifo size */
@@ -232,11 +250,11 @@ struct uart_port {
  * within.
  */
 struct uart_state {
-       unsigned int            close_delay;
-       unsigned int            closing_wait;
+       unsigned int            close_delay;            /* msec */
+       unsigned int            closing_wait;           /* msec */
 
 #define USF_CLOSING_WAIT_INF   (0)
-#define USF_CLOSING_WAIT_NONE  (65535)
+#define USF_CLOSING_WAIT_NONE  (~0U)
 
        int                     count;
        int                     pm_state;
@@ -246,7 +264,7 @@ struct uart_state {
        struct semaphore        sem;
 };
 
-#define UART_XMIT_SIZE 1024
+#define UART_XMIT_SIZE PAGE_SIZE
 /*
  * This is the state information which is only valid when the port
  * is open; it may be freed by the core driver once the device has
@@ -268,9 +286,6 @@ struct uart_info {
 #define UIF_NORMAL_ACTIVE      (1 << 29)
 #define UIF_INITIALIZED                (1 << 31)
 
-       unsigned char           *tmpbuf;
-       struct semaphore        tmpbuf_sem;
-
        int                     blocked_open;
 
        struct tasklet_struct   tlet;
@@ -458,3 +473,5 @@ uart_handle_cts_change(struct uart_port *port, unsigned int status)
                                         !((cflag) & CLOCAL))
 
 #endif
+
+#endif /* LINUX_SERIAL_CORE_H */