[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:
@@ -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
|
||||||
|
@@ -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
|
||||||
{
|
{
|
||||||
|
@@ -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];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
1576
drivers/char/epca.c
1576
drivers/char/epca.c
File diff suppressed because it is too large
Load Diff
@@ -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 ;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user