Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / drivers / char / rio / port.h
index 8506af0..9b5fa3e 100644 (file)
 #ifndef        __rio_port_h__
 #define        __rio_port_h__
 
-#ifdef SCCS_LABELS
-static char *_port_h_sccs_ = "@(#)port.h       1.3";
-#endif
-
-
-#undef VPIX
-
-
-/*
-** the port data structure - one per port in the system
-*/
-
-#ifdef STATS
-struct RIOStats
-{
-       /*
-       ** interrupt statistics
-       */
-       uint    BreakIntCnt;
-       uint    ModemOffCnt;
-       uint    ModemOnCnt;
-       uint    RxIntCnt;
-       uint    TxIntCnt;
-       /*
-       ** throughput statistics
-       */
-       uint    RxCharCnt;
-       uint    RxPktCnt;
-       uint    RxSaveCnt;
-       uint    TxCharCnt;
-       uint    TxPktCnt;
-       /*
-       ** driver entry statistics
-       */
-       uint    CloseCnt;
-       uint    IoctlCnt;
-       uint    OpenCnt;
-       uint    ReadCnt;
-       uint    WriteCnt;
-       /*
-       ** proc statistics
-       */
-       uint    BlockCnt;
-       uint    OutputCnt;
-       uint    ResumeCnt;
-       uint    RflushCnt;
-       uint    SuspendCnt;
-       uint    TbreakCnt;
-       uint    TimeoutCnt;
-       uint    UnblockCnt;
-       uint    WflushCnt;
-       uint    WFBodgeCnt;
-};
-#endif
-
 /*
 **     Port data structure
 */
-struct Port
-{
-  struct gs_port gs; 
-  int                          PortNum;        /* RIO port no., 0-511 */
-  struct Host  *HostP;
-  volatile caddr_t             Caddr;
-  ushort                       HostPort;  /* Port number on host card */
-  uchar                        RupNum; /* Number of RUP for port */
-  uchar                        ID2;    /* Second ID of RTA for port */
-  ulong                        State;  /* FLAGS for open & xopen */
+struct Port {
+       struct gs_port gs;
+       int PortNum;                    /* RIO port no., 0-511 */
+       struct Host *HostP;
+       caddr_t Caddr;
+       unsigned short HostPort;        /* Port number on host card */
+       unsigned char RupNum;           /* Number of RUP for port */
+       unsigned char ID2;              /* Second ID of RTA for port */
+       unsigned long State;            /* FLAGS for open & xopen */
 #define        RIO_LOPEN       0x00001         /* Local open */
 #define        RIO_MOPEN       0x00002         /* Modem open */
 #define        RIO_WOPEN       0x00004         /* Waiting for open */
@@ -122,17 +66,17 @@ struct     Port
 #define RIO_ISSCANCODE 0x40000         /* This line is in scancode mode */
 #define        RIO_USING_EUC   0x100000        /* Using extended Unix chars */
 #define        RIO_CAN_COOK    0x200000        /* This line can do cooking */
-#define RIO_TRIAD_MODE  0x400000        /* Enable TRIAD special ops. */
-#define RIO_TRIAD_BLOCK 0x800000        /* Next read will block */
-#define RIO_TRIAD_FUNC  0x1000000       /* Seen a function key coming in */
-#define RIO_THROTTLE_RX 0x2000000       /* RX needs to be throttled. */
+#define RIO_TRIAD_MODE  0x400000       /* Enable TRIAD special ops. */
+#define RIO_TRIAD_BLOCK 0x800000       /* Next read will block */
+#define RIO_TRIAD_FUNC  0x1000000      /* Seen a function key coming in */
+#define RIO_THROTTLE_RX 0x2000000      /* RX needs to be throttled. */
 
-    ulong                      Config; /* FLAGS for NOREAD.... */
+       unsigned long Config;           /* FLAGS for NOREAD.... */
 #define        RIO_NOREAD      0x0001          /* Are not allowed to read port */
 #define        RIO_NOWRITE     0x0002          /* Are not allowed to write port */
 #define        RIO_NOXPRINT    0x0004          /* Are not allowed to xprint port */
 #define        RIO_NOMASK      0x0007          /* All not allowed things */
-#define RIO_IXANY      0x0008          /* Port is allowed ixany */
+#define RIO_IXANY      0x0008          /* Port is allowed ixany */
 #define        RIO_MODEM       0x0010          /* Stream is a modem device */
 #define        RIO_IXON        0x0020          /* Port is allowed ixon */
 #define RIO_WAITDRAIN  0x0040          /* Wait for port to completely drain */
@@ -148,98 +92,88 @@ struct     Port
 #define RIO_RTSFLOW    0x0400          /* RIO's own RTSFLOW flag */
 
 
-    struct PHB                 *PhbP;    /* pointer to PHB for port */
-    WORD                        *TxAdd;   /* Add packets here */
-    WORD                        *TxStart; /* Start of add array */
-    WORD                        *TxEnd;         /* End of add array */
-    WORD                        *RxRemove;      /* Remove packets here */
-    WORD                        *RxStart;       /* Start of remove array */
-    WORD                        *RxEnd;         /* End of remove array */
-    uint                       RtaUniqueNum;   /* Unique number of RTA */
-    ushort                     PortState;      /* status of port */
-    ushort                     ModemState;     /* status of modem lines */
-    ulong                      ModemLines;     /* Modem bits sent to RTA */
-    uchar                      CookMode;       /* who expands CR/LF? */
-    uchar                      ParamSem;       /* Prevent write during param */
-    uchar                      Mapped;         /* if port mapped onto host */
-    uchar                      SecondBlock;    /* if port belongs to 2nd block
-                                                  of 16 port RTA */
-    uchar                      InUse;          /* how many pre-emptive cmds */
-    uchar                      Lock;           /* if params locked */
-    uchar                      Store;  /* if params stored across closes */
-    uchar                      FirstOpen; /* TRUE if first time port opened */
-    uchar                      FlushCmdBodge;  /* if doing a (non)flush */
-    uchar                      MagicFlags;     /* require intr processing */
-#define        MAGIC_FLUSH     0x01    /* mirror of WflushFlag */
-#define        MAGIC_REBOOT    0x02    /* RTA re-booted, re-open ports */
-#define        MORE_OUTPUT_EYGOR 0x04  /* riotproc failed to empty clists */
-    uchar                      WflushFlag;     /* 1 How many WFLUSHs active */
+       struct PHB *PhbP;               /* pointer to PHB for port */
+       u16 *TxAdd;                     /* Add packets here */
+       u16 *TxStart;                   /* Start of add array */
+       u16 *TxEnd;                     /* End of add array */
+       u16 *RxRemove;                  /* Remove packets here */
+       u16 *RxStart;                   /* Start of remove array */
+       u16 *RxEnd;                     /* End of remove array */
+       unsigned int RtaUniqueNum;      /* Unique number of RTA */
+       unsigned short PortState;       /* status of port */
+       unsigned short ModemState;      /* status of modem lines */
+       unsigned long ModemLines;       /* Modem bits sent to RTA */
+       unsigned char CookMode;         /* who expands CR/LF? */
+       unsigned char ParamSem;         /* Prevent write during param */
+       unsigned char Mapped;           /* if port mapped onto host */
+       unsigned char SecondBlock;      /* if port belongs to 2nd block
+                                               of 16 port RTA */
+       unsigned char InUse;            /* how many pre-emptive cmds */
+       unsigned char Lock;             /* if params locked */
+       unsigned char Store;            /* if params stored across closes */
+       unsigned char FirstOpen;        /* TRUE if first time port opened */
+       unsigned char FlushCmdBodge;    /* if doing a (non)flush */
+       unsigned char MagicFlags;       /* require intr processing */
+#define        MAGIC_FLUSH     0x01            /* mirror of WflushFlag */
+#define        MAGIC_REBOOT    0x02            /* RTA re-booted, re-open ports */
+#define        MORE_OUTPUT_EYGOR 0x04          /* riotproc failed to empty clists */
+       unsigned char WflushFlag;       /* 1 How many WFLUSHs active */
 /*
 ** Transparent print stuff
 */
-    struct Xprint
-    {
+       struct Xprint {
 #ifndef MAX_XP_CTRL_LEN
-#define MAX_XP_CTRL_LEN                16              /* ALSO IN DAEMON.H */
+#define MAX_XP_CTRL_LEN                16      /* ALSO IN DAEMON.H */
 #endif
-       uint                    XpCps;
-       char                    XpOn[MAX_XP_CTRL_LEN];
-       char                    XpOff[MAX_XP_CTRL_LEN];
-       ushort                  XpLen;          /* strlen(XpOn)+strlen(XpOff) */
-       uchar                   XpActive;
-       uchar                   XpLastTickOk;   /* TRUE if we can process */
+               unsigned int XpCps;
+               char XpOn[MAX_XP_CTRL_LEN];
+               char XpOff[MAX_XP_CTRL_LEN];
+               unsigned short XpLen;   /* strlen(XpOn)+strlen(XpOff) */
+               unsigned char XpActive;
+               unsigned char XpLastTickOk;     /* TRUE if we can process */
 #define        XP_OPEN         00001
 #define        XP_RUNABLE      00002
-       struct ttystatics               *XttyP;
-    } Xprint;
-#ifdef VPIX
-    v86_t                      *StashP;
-    uint                       IntMask;
-    struct termss              VpixSs;
-    uchar                      ModemStatusReg; /* Modem status register */
-#endif
-    uchar                      RxDataStart;
-    uchar                      Cor2Copy;       /* copy of COR2 */
-    char                       *Name;          /* points to the Rta's name */
-#ifdef STATS
-    struct RIOStats            Stat;           /* ports statistics */
-#endif
-    char                       *TxRingBuffer;
-    ushort                     TxBufferIn;     /* New data arrives here */
-    ushort                     TxBufferOut;    /* Intr removes data here */
-    ushort                     OldTxBufferOut; /* Indicates if draining */
-    int                                TimeoutId;      /* Timeout ID */
-    uint                       Debug;
-    uchar                      WaitUntilBooted; /* True if open should block */
-    uint                       statsGather;    /* True if gathering stats */
-    ulong                      txchars;        /* Chars transmitted */
-    ulong                      rxchars;        /* Chars received */
-    ulong                      opens;          /* port open count */
-    ulong                      closes;         /* port close count */
-    ulong                      ioctls;         /* ioctl count */
-    uchar                      LastRxTgl;      /* Last state of rx toggle bit */
-  spinlock_t                           portSem;        /* Lock using this sem */
-       int                             MonitorTstate;  /* Monitoring ? */
-       int                             timeout_id;     /* For calling 100 ms delays */
-       int                             timeout_sem;/* For calling 100 ms delays */
-       int                             firstOpen;      /* First time open ? */
-       char *                  p;                      /* save the global struc here .. */
+               struct ttystatics *XttyP;
+       } Xprint;
+       unsigned char RxDataStart;
+       unsigned char Cor2Copy;         /* copy of COR2 */
+       char *Name;                     /* points to the Rta's name */
+       char *TxRingBuffer;
+       unsigned short TxBufferIn;      /* New data arrives here */
+       unsigned short TxBufferOut;     /* Intr removes data here */
+       unsigned short OldTxBufferOut;  /* Indicates if draining */
+       int TimeoutId;                  /* Timeout ID */
+       unsigned int Debug;
+       unsigned char WaitUntilBooted;  /* True if open should block */
+       unsigned int statsGather;       /* True if gathering stats */
+       unsigned long txchars;          /* Chars transmitted */
+       unsigned long rxchars;          /* Chars received */
+       unsigned long opens;            /* port open count */
+       unsigned long closes;           /* port close count */
+       unsigned long ioctls;           /* ioctl count */
+       unsigned char LastRxTgl;        /* Last state of rx toggle bit */
+       spinlock_t portSem;             /* Lock using this sem */
+       int MonitorTstate;              /* Monitoring ? */
+       int timeout_id;                 /* For calling 100 ms delays */
+       int timeout_sem;                /* For calling 100 ms delays */
+       int firstOpen;                  /* First time open ? */
+       char *p;                        /* save the global struc here .. */
 };
 
-struct ModuleInfo
-{
-       char    *Name;
-       uint    Flags[4];       /* one per port on a module */
+struct ModuleInfo {
+       char *Name;
+       unsigned int Flags[4];          /* one per port on a module */
 };
-#endif
 
 /*
 ** This struct is required because trying to grab an entire Port structure
 ** runs into problems with differing struct sizes between driver and config.
 */
 struct PortParams {
-       uint    Port;
-       ulong   Config;
-       ulong   State;
-       struct ttystatics       *TtyP;
+       unsigned int Port;
+       unsigned long Config;
+       unsigned long State;
+       struct ttystatics *TtyP;
 };
+
+#endif