[PATCH] Clean up the old digi support and rescue it

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Alan Cox
2005-09-06 15:16:44 -07:00
committed by Linus Torvalds
parent 5dd42c262b
commit f2cf8e25ba
5 changed files with 606 additions and 1276 deletions

View File

@@ -138,7 +138,7 @@ config CYZ_INTR
config DIGIEPCA config DIGIEPCA
tristate "Digiboard Intelligent Async Support" tristate "Digiboard Intelligent Async Support"
depends on SERIAL_NONSTANDARD && BROKEN_ON_SMP && (!64BIT || BROKEN) depends on SERIAL_NONSTANDARD
---help--- ---help---
This is a driver for Digi International's Xx, Xeve, and Xem series This is a driver for Digi International's Xx, Xeve, and Xem series
of cards which provide multiple serial ports. You would need of cards which provide multiple serial ports. You would need

View File

@@ -1,46 +1,46 @@
/* Definitions for DigiBoard ditty(1) command. */ /* Definitions for DigiBoard ditty(1) command. */
#if !defined(TIOCMODG) #if !defined(TIOCMODG)
#define TIOCMODG ('d'<<8) | 250 /* get modem ctrl state */ #define TIOCMODG (('d'<<8) | 250) /* get modem ctrl state */
#define TIOCMODS ('d'<<8) | 251 /* set modem ctrl state */ #define TIOCMODS (('d'<<8) | 251) /* set modem ctrl state */
#endif #endif
#if !defined(TIOCMSET) #if !defined(TIOCMSET)
#define TIOCMSET ('d'<<8) | 252 /* set modem ctrl state */ #define TIOCMSET (('d'<<8) | 252) /* set modem ctrl state */
#define TIOCMGET ('d'<<8) | 253 /* set modem ctrl state */ #define TIOCMGET (('d'<<8) | 253) /* set modem ctrl state */
#endif #endif
#if !defined(TIOCMBIC) #if !defined(TIOCMBIC)
#define TIOCMBIC ('d'<<8) | 254 /* set modem ctrl state */ #define TIOCMBIC (('d'<<8) | 254) /* set modem ctrl state */
#define TIOCMBIS ('d'<<8) | 255 /* set modem ctrl state */ #define TIOCMBIS (('d'<<8) | 255) /* set modem ctrl state */
#endif #endif
#if !defined(TIOCSDTR) #if !defined(TIOCSDTR)
#define TIOCSDTR ('e'<<8) | 0 /* set DTR */ #define TIOCSDTR (('e'<<8) | 0) /* set DTR */
#define TIOCCDTR ('e'<<8) | 1 /* clear DTR */ #define TIOCCDTR (('e'<<8) | 1) /* clear DTR */
#endif #endif
/************************************************************************ /************************************************************************
* Ioctl command arguments for DIGI parameters. * Ioctl command arguments for DIGI parameters.
************************************************************************/ ************************************************************************/
#define DIGI_GETA ('e'<<8) | 94 /* Read params */ #define DIGI_GETA (('e'<<8) | 94) /* Read params */
#define DIGI_SETA ('e'<<8) | 95 /* Set params */ #define DIGI_SETA (('e'<<8) | 95) /* Set params */
#define DIGI_SETAW ('e'<<8) | 96 /* Drain & set params */ #define DIGI_SETAW (('e'<<8) | 96) /* Drain & set params */
#define DIGI_SETAF ('e'<<8) | 97 /* Drain, flush & set params */ #define DIGI_SETAF (('e'<<8) | 97) /* Drain, flush & set params */
#define DIGI_GETFLOW ('e'<<8) | 99 /* Get startc/stopc flow */ #define DIGI_GETFLOW (('e'<<8) | 99) /* Get startc/stopc flow */
/* control characters */ /* control characters */
#define DIGI_SETFLOW ('e'<<8) | 100 /* Set startc/stopc flow */ #define DIGI_SETFLOW (('e'<<8) | 100) /* Set startc/stopc flow */
/* control characters */ /* control characters */
#define DIGI_GETAFLOW ('e'<<8) | 101 /* Get Aux. startc/stopc */ #define DIGI_GETAFLOW (('e'<<8) | 101) /* Get Aux. startc/stopc */
/* flow control chars */ /* flow control chars */
#define DIGI_SETAFLOW ('e'<<8) | 102 /* Set Aux. startc/stopc */ #define DIGI_SETAFLOW (('e'<<8) | 102) /* Set Aux. startc/stopc */
/* flow control chars */ /* flow control chars */
#define DIGI_GETINFO ('e'<<8) | 103 /* Fill in digi_info */ #define DIGI_GETINFO (('e'<<8) | 103) /* Fill in digi_info */
#define DIGI_POLLER ('e'<<8) | 104 /* Turn on/off poller */ #define DIGI_POLLER (('e'<<8) | 104) /* Turn on/off poller */
#define DIGI_INIT ('e'<<8) | 105 /* Allow things to run. */ #define DIGI_INIT (('e'<<8) | 105) /* Allow things to run. */
struct digiflow_struct struct digiflow_struct
{ {

View File

@@ -13,88 +13,88 @@
struct global_data struct global_data
{ {
volatile ushort cin; u16 cin;
volatile ushort cout; u16 cout;
volatile ushort cstart; u16 cstart;
volatile ushort cmax; u16 cmax;
volatile ushort ein; u16 ein;
volatile ushort eout; u16 eout;
volatile ushort istart; u16 istart;
volatile ushort imax; u16 imax;
}; };
struct board_chan struct board_chan
{ {
int filler1; u32 filler1;
int filler2; u32 filler2;
volatile ushort tseg; u16 tseg;
volatile ushort tin; u16 tin;
volatile ushort tout; u16 tout;
volatile ushort tmax; u16 tmax;
volatile ushort rseg; u16 rseg;
volatile ushort rin; u16 rin;
volatile ushort rout; u16 rout;
volatile ushort rmax; u16 rmax;
volatile ushort tlow; u16 tlow;
volatile ushort rlow; u16 rlow;
volatile ushort rhigh; u16 rhigh;
volatile ushort incr; u16 incr;
volatile ushort etime; u16 etime;
volatile ushort edelay; u16 edelay;
volatile unchar *dev; unchar *dev;
volatile ushort iflag; u16 iflag;
volatile ushort oflag; u16 oflag;
volatile ushort cflag; u16 cflag;
volatile ushort gmask; u16 gmask;
volatile ushort col; u16 col;
volatile ushort delay; u16 delay;
volatile ushort imask; u16 imask;
volatile ushort tflush; u16 tflush;
int filler3; u32 filler3;
int filler4; u32 filler4;
int filler5; u32 filler5;
int filler6; u32 filler6;
volatile unchar num; u8 num;
volatile unchar ract; u8 ract;
volatile unchar bstat; u8 bstat;
volatile unchar tbusy; u8 tbusy;
volatile unchar iempty; u8 iempty;
volatile unchar ilow; u8 ilow;
volatile unchar idata; u8 idata;
volatile unchar eflag; u8 eflag;
volatile unchar tflag; u8 tflag;
volatile unchar rflag; u8 rflag;
volatile unchar xmask; u8 xmask;
volatile unchar xval; u8 xval;
volatile unchar mstat; u8 mstat;
volatile unchar mchange; u8 mchange;
volatile unchar mint; u8 mint;
volatile unchar lstat; u8 lstat;
volatile unchar mtran; u8 mtran;
volatile unchar orun; u8 orun;
volatile unchar startca; u8 startca;
volatile unchar stopca; u8 stopca;
volatile unchar startc; u8 startc;
volatile unchar stopc; u8 stopc;
volatile unchar vnext; u8 vnext;
volatile unchar hflow; u8 hflow;
volatile unchar fillc; u8 fillc;
volatile unchar ochar; u8 ochar;
volatile unchar omask; u8 omask;
unchar filler7; u8 filler7;
unchar filler8[28]; u8 filler8[28];
}; };

File diff suppressed because it is too large Load Diff

View File

@@ -85,73 +85,73 @@ static char *board_desc[] =
struct channel struct channel
{ {
long magic; long magic;
unchar boardnum; unsigned char boardnum;
unchar channelnum; unsigned char channelnum;
unchar omodem; /* FEP output modem status */ unsigned char omodem; /* FEP output modem status */
unchar imodem; /* FEP input modem status */ unsigned char imodem; /* FEP input modem status */
unchar modemfake; /* Modem values to be forced */ unsigned char modemfake; /* Modem values to be forced */
unchar modem; /* Force values */ unsigned char modem; /* Force values */
unchar hflow; unsigned char hflow;
unchar dsr; unsigned char dsr;
unchar dcd; unsigned char dcd;
unchar m_rts ; /* The bits used in whatever FEP */ unsigned char m_rts ; /* The bits used in whatever FEP */
unchar m_dcd ; /* is indiginous to this board to */ unsigned char m_dcd ; /* is indiginous to this board to */
unchar m_dsr ; /* represent each of the physical */ unsigned char m_dsr ; /* represent each of the physical */
unchar m_cts ; /* handshake lines */ unsigned char m_cts ; /* handshake lines */
unchar m_ri ; unsigned char m_ri ;
unchar m_dtr ; unsigned char m_dtr ;
unchar stopc; unsigned char stopc;
unchar startc; unsigned char startc;
unchar stopca; unsigned char stopca;
unchar startca; unsigned char startca;
unchar fepstopc; unsigned char fepstopc;
unchar fepstartc; unsigned char fepstartc;
unchar fepstopca; unsigned char fepstopca;
unchar fepstartca; unsigned char fepstartca;
unchar txwin; unsigned char txwin;
unchar rxwin; unsigned char rxwin;
ushort fepiflag; unsigned short fepiflag;
ushort fepcflag; unsigned short fepcflag;
ushort fepoflag; unsigned short fepoflag;
ushort txbufhead; unsigned short txbufhead;
ushort txbufsize; unsigned short txbufsize;
ushort rxbufhead; unsigned short rxbufhead;
ushort rxbufsize; unsigned short rxbufsize;
int close_delay; int close_delay;
int count; int count;
int blocked_open; int blocked_open;
ulong event; unsigned long event;
int asyncflags; int asyncflags;
uint dev; uint dev;
ulong statusflags; unsigned long statusflags;
ulong c_iflag; unsigned long c_iflag;
ulong c_cflag; unsigned long c_cflag;
ulong c_lflag; unsigned long c_lflag;
ulong c_oflag; unsigned long c_oflag;
unchar *txptr; unsigned char *txptr;
unchar *rxptr; unsigned char *rxptr;
unchar *tmp_buf; unsigned char *tmp_buf;
struct board_info *board; struct board_info *board;
volatile struct board_chan *brdchan; struct board_chan *brdchan;
struct digi_struct digiext; struct digi_struct digiext;
struct tty_struct *tty; struct tty_struct *tty;
wait_queue_head_t open_wait; wait_queue_head_t open_wait;
wait_queue_head_t close_wait; wait_queue_head_t close_wait;
struct work_struct tqueue; struct work_struct tqueue;
volatile struct global_data *mailbox; struct global_data *mailbox;
}; };
struct board_info struct board_info
{ {
unchar status; unsigned char status;
unchar type; unsigned char type;
unchar altpin; unsigned char altpin;
ushort numports; unsigned short numports;
unchar *port; unsigned long port;
unchar *membase; unsigned long membase;
unchar __iomem *re_map_port; unsigned char __iomem *re_map_port;
unchar *re_map_membase; unsigned char *re_map_membase;
ulong memory_seg; unsigned long memory_seg;
void ( * memwinon ) (struct board_info *, unsigned int) ; void ( * memwinon ) (struct board_info *, unsigned int) ;
void ( * memwinoff ) (struct board_info *, unsigned int) ; void ( * memwinoff ) (struct board_info *, unsigned int) ;
void ( * globalwinon ) (struct channel *) ; void ( * globalwinon ) (struct channel *) ;
@@ -160,6 +160,6 @@ struct board_info
void ( * memoff ) (struct channel *) ; void ( * memoff ) (struct channel *) ;
void ( * assertgwinon ) (struct channel *) ; void ( * assertgwinon ) (struct channel *) ;
void ( * assertmemoff ) (struct channel *) ; void ( * assertmemoff ) (struct channel *) ;
unchar poller_inhibited ; unsigned char poller_inhibited ;
}; };