forked from Minki/linux
[PATCH] char/isicom: Type conversion and variables deletion
Type which is needed to have accurate size was converted to [us]{8,16}. Removed void * cast. Signed-off-by: Jiri Slaby <xslaby@fi.muni.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
d8d16e4744
commit
8070e35c65
|
@ -154,9 +154,6 @@ static struct tty_driver *isicom_normal;
|
||||||
|
|
||||||
static struct timer_list tx;
|
static struct timer_list tx;
|
||||||
static char re_schedule = 1;
|
static char re_schedule = 1;
|
||||||
#ifdef ISICOM_DEBUG
|
|
||||||
static unsigned long tx_count = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static int ISILoad_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg);
|
static int ISILoad_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg);
|
||||||
|
|
||||||
|
@ -173,7 +170,7 @@ static signed char linuxb_to_isib[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct isi_board {
|
struct isi_board {
|
||||||
unsigned short base;
|
unsigned long base;
|
||||||
unsigned char irq;
|
unsigned char irq;
|
||||||
unsigned char port_count;
|
unsigned char port_count;
|
||||||
unsigned short status;
|
unsigned short status;
|
||||||
|
@ -192,9 +189,9 @@ struct isi_port {
|
||||||
int count;
|
int count;
|
||||||
int blocked_open;
|
int blocked_open;
|
||||||
int close_delay;
|
int close_delay;
|
||||||
unsigned short channel;
|
u16 channel;
|
||||||
unsigned short status;
|
u16 status;
|
||||||
unsigned short closing_wait;
|
u16 closing_wait;
|
||||||
struct isi_board * card;
|
struct isi_board * card;
|
||||||
struct tty_struct * tty;
|
struct tty_struct * tty;
|
||||||
wait_queue_head_t close_wait;
|
wait_queue_head_t close_wait;
|
||||||
|
@ -219,7 +216,7 @@ static struct isi_port isi_ports[PORT_COUNT];
|
||||||
static int lock_card(struct isi_board *card)
|
static int lock_card(struct isi_board *card)
|
||||||
{
|
{
|
||||||
char retries;
|
char retries;
|
||||||
unsigned short base = card->base;
|
unsigned long base = card->base;
|
||||||
|
|
||||||
for (retries = 0; retries < 100; retries++) {
|
for (retries = 0; retries < 100; retries++) {
|
||||||
spin_lock_irqsave(&card->card_lock, card->flags);
|
spin_lock_irqsave(&card->card_lock, card->flags);
|
||||||
|
@ -230,14 +227,14 @@ static int lock_card(struct isi_board *card)
|
||||||
udelay(1000); /* 1ms */
|
udelay(1000); /* 1ms */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
printk(KERN_WARNING "ISICOM: Failed to lock Card (0x%x)\n", card->base);
|
printk(KERN_WARNING "ISICOM: Failed to lock Card (0x%lx)\n", card->base);
|
||||||
return 0; /* Failed to aquire the card! */
|
return 0; /* Failed to aquire the card! */
|
||||||
}
|
}
|
||||||
|
|
||||||
static int lock_card_at_interrupt(struct isi_board *card)
|
static int lock_card_at_interrupt(struct isi_board *card)
|
||||||
{
|
{
|
||||||
unsigned char retries;
|
unsigned char retries;
|
||||||
unsigned short base = card->base;
|
unsigned long base = card->base;
|
||||||
|
|
||||||
for (retries = 0; retries < 200; retries++) {
|
for (retries = 0; retries < 200; retries++) {
|
||||||
spin_lock_irqsave(&card->card_lock, card->flags);
|
spin_lock_irqsave(&card->card_lock, card->flags);
|
||||||
|
@ -263,8 +260,8 @@ static void unlock_card(struct isi_board *card)
|
||||||
static void raise_dtr(struct isi_port *port)
|
static void raise_dtr(struct isi_port *port)
|
||||||
{
|
{
|
||||||
struct isi_board *card = port->card;
|
struct isi_board *card = port->card;
|
||||||
unsigned short base = card->base;
|
unsigned long base = card->base;
|
||||||
unsigned char channel = port->channel;
|
u16 channel = port->channel;
|
||||||
|
|
||||||
if (!lock_card(card))
|
if (!lock_card(card))
|
||||||
return;
|
return;
|
||||||
|
@ -279,8 +276,8 @@ static void raise_dtr(struct isi_port *port)
|
||||||
static inline void drop_dtr(struct isi_port *port)
|
static inline void drop_dtr(struct isi_port *port)
|
||||||
{
|
{
|
||||||
struct isi_board *card = port->card;
|
struct isi_board *card = port->card;
|
||||||
unsigned short base = card->base;
|
unsigned long base = card->base;
|
||||||
unsigned char channel = port->channel;
|
u16 channel = port->channel;
|
||||||
|
|
||||||
if (!lock_card(card))
|
if (!lock_card(card))
|
||||||
return;
|
return;
|
||||||
|
@ -295,8 +292,8 @@ static inline void drop_dtr(struct isi_port *port)
|
||||||
static inline void raise_rts(struct isi_port *port)
|
static inline void raise_rts(struct isi_port *port)
|
||||||
{
|
{
|
||||||
struct isi_board *card = port->card;
|
struct isi_board *card = port->card;
|
||||||
unsigned short base = card->base;
|
unsigned long base = card->base;
|
||||||
unsigned char channel = port->channel;
|
u16 channel = port->channel;
|
||||||
|
|
||||||
if (!lock_card(card))
|
if (!lock_card(card))
|
||||||
return;
|
return;
|
||||||
|
@ -310,8 +307,8 @@ static inline void raise_rts(struct isi_port *port)
|
||||||
static inline void drop_rts(struct isi_port *port)
|
static inline void drop_rts(struct isi_port *port)
|
||||||
{
|
{
|
||||||
struct isi_board *card = port->card;
|
struct isi_board *card = port->card;
|
||||||
unsigned short base = card->base;
|
unsigned long base = card->base;
|
||||||
unsigned char channel = port->channel;
|
u16 channel = port->channel;
|
||||||
|
|
||||||
if (!lock_card(card))
|
if (!lock_card(card))
|
||||||
return;
|
return;
|
||||||
|
@ -326,8 +323,8 @@ static inline void drop_rts(struct isi_port *port)
|
||||||
static inline void raise_dtr_rts(struct isi_port *port)
|
static inline void raise_dtr_rts(struct isi_port *port)
|
||||||
{
|
{
|
||||||
struct isi_board *card = port->card;
|
struct isi_board *card = port->card;
|
||||||
unsigned short base = card->base;
|
unsigned long base = card->base;
|
||||||
unsigned char channel = port->channel;
|
u16 channel = port->channel;
|
||||||
|
|
||||||
if (!lock_card(card))
|
if (!lock_card(card))
|
||||||
return;
|
return;
|
||||||
|
@ -342,8 +339,8 @@ static inline void raise_dtr_rts(struct isi_port *port)
|
||||||
static void drop_dtr_rts(struct isi_port *port)
|
static void drop_dtr_rts(struct isi_port *port)
|
||||||
{
|
{
|
||||||
struct isi_board *card = port->card;
|
struct isi_board *card = port->card;
|
||||||
unsigned short base = card->base;
|
unsigned long base = card->base;
|
||||||
unsigned char channel = port->channel;
|
u16 channel = port->channel;
|
||||||
|
|
||||||
if (!lock_card(card))
|
if (!lock_card(card))
|
||||||
return;
|
return;
|
||||||
|
@ -358,8 +355,8 @@ static void drop_dtr_rts(struct isi_port *port)
|
||||||
static inline void kill_queue(struct isi_port *port, short queue)
|
static inline void kill_queue(struct isi_port *port, short queue)
|
||||||
{
|
{
|
||||||
struct isi_board *card = port->card;
|
struct isi_board *card = port->card;
|
||||||
unsigned short base = card->base;
|
unsigned long base = card->base;
|
||||||
unsigned char channel = port->channel;
|
u16 channel = port->channel;
|
||||||
|
|
||||||
if (!lock_card(card))
|
if (!lock_card(card))
|
||||||
return;
|
return;
|
||||||
|
@ -386,7 +383,7 @@ static struct miscdevice isiloader_device = {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static inline int WaitTillCardIsFree(unsigned short base)
|
static inline int WaitTillCardIsFree(unsigned long base)
|
||||||
{
|
{
|
||||||
unsigned long count=0;
|
unsigned long count=0;
|
||||||
while( (!(inw(base+0xe) & 0x1)) && (count++ < 6000000));
|
while( (!(inw(base+0xe) & 0x1)) && (count++ < 6000000));
|
||||||
|
@ -400,8 +397,8 @@ static int ISILoad_ioctl(struct inode *inode, struct file *filp,
|
||||||
unsigned int cmd, unsigned long arg)
|
unsigned int cmd, unsigned long arg)
|
||||||
{
|
{
|
||||||
unsigned int card, i, j, signature, status, portcount = 0;
|
unsigned int card, i, j, signature, status, portcount = 0;
|
||||||
unsigned long t;
|
unsigned long t, base;
|
||||||
unsigned short word_count, base;
|
u16 word_count;
|
||||||
bin_frame frame;
|
bin_frame frame;
|
||||||
void __user *argp = (void __user *)arg;
|
void __user *argp = (void __user *)arg;
|
||||||
/* exec_record exec_rec; */
|
/* exec_record exec_rec; */
|
||||||
|
@ -421,7 +418,7 @@ static int ISILoad_ioctl(struct inode *inode, struct file *filp,
|
||||||
case MIOCTL_RESET_CARD:
|
case MIOCTL_RESET_CARD:
|
||||||
if (!capable(CAP_SYS_ADMIN))
|
if (!capable(CAP_SYS_ADMIN))
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
printk(KERN_DEBUG "ISILoad:Resetting Card%d at 0x%x ",card+1,base);
|
printk(KERN_DEBUG "ISILoad:Resetting Card%d at 0x%lx ",card+1,base);
|
||||||
|
|
||||||
inw(base+0x8);
|
inw(base+0x8);
|
||||||
|
|
||||||
|
@ -440,7 +437,7 @@ static int ISILoad_ioctl(struct inode *inode, struct file *filp,
|
||||||
#ifdef ISICOM_DEBUG
|
#ifdef ISICOM_DEBUG
|
||||||
printk("\nbase+0x2=0x%x , base+0xe=0x%x",inw(base+0x2),inw(base+0xe));
|
printk("\nbase+0x2=0x%x , base+0xe=0x%x",inw(base+0x2),inw(base+0xe));
|
||||||
#endif
|
#endif
|
||||||
printk("\nISILoad:ISA Card%d reset failure (Possible bad I/O Port Address 0x%x).\n",card+1,base);
|
printk("\nISILoad:ISA Card%d reset failure (Possible bad I/O Port Address 0x%lx).\n",card+1,base);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -450,7 +447,7 @@ static int ISILoad_ioctl(struct inode *inode, struct file *filp,
|
||||||
#ifdef ISICOM_DEBUG
|
#ifdef ISICOM_DEBUG
|
||||||
printk("\nbase+0x2=0x%x , base+0xe=0x%x",inw(base+0x2),inw(base+0xe));
|
printk("\nbase+0x2=0x%x , base+0xe=0x%x",inw(base+0x2),inw(base+0xe));
|
||||||
#endif
|
#endif
|
||||||
printk("\nISILoad:PCI Card%d reset failure (Possible bad I/O Port Address 0x%x).\n",card+1,base);
|
printk("\nISILoad:PCI Card%d reset failure (Possible bad I/O Port Address 0x%lx).\n",card+1,base);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -473,7 +470,7 @@ static int ISILoad_ioctl(struct inode *inode, struct file *filp,
|
||||||
isi_card[card].shift_count = 11;
|
isi_card[card].shift_count = 11;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default: printk("ISILoad:Card%d reset failure (Possible bad I/O Port Address 0x%x).\n",card+1,base);
|
default: printk("ISILoad:Card%d reset failure (Possible bad I/O Port Address 0x%lx).\n",card+1,base);
|
||||||
#ifdef ISICOM_DEBUG
|
#ifdef ISICOM_DEBUG
|
||||||
printk("Sig=0x%x\n",signature);
|
printk("Sig=0x%x\n",signature);
|
||||||
#endif
|
#endif
|
||||||
|
@ -636,10 +633,6 @@ static void isicom_tx(unsigned long _data)
|
||||||
struct isi_port *port;
|
struct isi_port *port;
|
||||||
struct tty_struct *tty;
|
struct tty_struct *tty;
|
||||||
|
|
||||||
#ifdef ISICOM_DEBUG
|
|
||||||
++tx_count;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* find next active board */
|
/* find next active board */
|
||||||
card = (prev_card + 1) & 0x0003;
|
card = (prev_card + 1) & 0x0003;
|
||||||
while(count-- > 0) {
|
while(count-- > 0) {
|
||||||
|
@ -762,19 +755,16 @@ static void isicom_bottomhalf(void *data)
|
||||||
* Main interrupt handler routine
|
* Main interrupt handler routine
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static irqreturn_t isicom_interrupt(int irq, void *dev_id,
|
static irqreturn_t isicom_interrupt(int irq, void *dev_id, struct pt_regs *regs)
|
||||||
struct pt_regs *regs)
|
|
||||||
{
|
{
|
||||||
struct isi_board *card;
|
struct isi_board *card = dev_id;
|
||||||
struct isi_port *port;
|
struct isi_port *port;
|
||||||
struct tty_struct *tty;
|
struct tty_struct *tty;
|
||||||
unsigned short base, header, word_count, count;
|
unsigned long base;
|
||||||
unsigned char channel;
|
u16 header, word_count, count, channel;
|
||||||
short byte_count;
|
short byte_count;
|
||||||
unsigned char *rp;
|
unsigned char *rp;
|
||||||
|
|
||||||
card = (struct isi_board *) dev_id;
|
|
||||||
|
|
||||||
if (!card || !(card->status & FIRMWARE_LOADED))
|
if (!card || !(card->status & FIRMWARE_LOADED))
|
||||||
return IRQ_NONE;
|
return IRQ_NONE;
|
||||||
|
|
||||||
|
@ -796,7 +786,7 @@ static irqreturn_t isicom_interrupt(int irq, void *dev_id,
|
||||||
byte_count = header & 0xff;
|
byte_count = header & 0xff;
|
||||||
|
|
||||||
if (channel + 1 > card->port_count) {
|
if (channel + 1 > card->port_count) {
|
||||||
printk(KERN_WARNING "ISICOM: isicom_interrupt(0x%x): %d(channel) > port_count.\n",
|
printk(KERN_WARNING "ISICOM: isicom_interrupt(0x%lx): %d(channel) > port_count.\n",
|
||||||
base, channel+1);
|
base, channel+1);
|
||||||
if (card->isa)
|
if (card->isa)
|
||||||
ClearInterrupt(base);
|
ClearInterrupt(base);
|
||||||
|
@ -932,7 +922,7 @@ static irqreturn_t isicom_interrupt(int irq, void *dev_id,
|
||||||
byte_count -= 2;
|
byte_count -= 2;
|
||||||
}
|
}
|
||||||
if (byte_count > 0) {
|
if (byte_count > 0) {
|
||||||
printk(KERN_DEBUG "ISICOM: Intr(0x%x:%d): Flip buffer overflow! dropping bytes...\n",
|
printk(KERN_DEBUG "ISICOM: Intr(0x%lx:%d): Flip buffer overflow! dropping bytes...\n",
|
||||||
base, channel+1);
|
base, channel+1);
|
||||||
while(byte_count > 0) { /* drain out unread xtra data */
|
while(byte_count > 0) { /* drain out unread xtra data */
|
||||||
inw(base);
|
inw(base);
|
||||||
|
@ -953,8 +943,9 @@ static void isicom_config_port(struct isi_port *port)
|
||||||
struct isi_board *card = port->card;
|
struct isi_board *card = port->card;
|
||||||
struct tty_struct *tty;
|
struct tty_struct *tty;
|
||||||
unsigned long baud;
|
unsigned long baud;
|
||||||
unsigned short channel_setup, base = card->base;
|
unsigned long base = card->base;
|
||||||
unsigned short channel = port->channel, shift_count = card->shift_count;
|
u16 channel_setup, channel = port->channel,
|
||||||
|
shift_count = card->shift_count;
|
||||||
unsigned char flow_ctrl;
|
unsigned char flow_ctrl;
|
||||||
|
|
||||||
if (!(tty = port->tty) || !tty->termios)
|
if (!(tty = port->tty) || !tty->termios)
|
||||||
|
@ -1280,7 +1271,7 @@ static void isicom_shutdown_port(struct isi_port *port)
|
||||||
set_bit(TTY_IO_ERROR, &tty->flags);
|
set_bit(TTY_IO_ERROR, &tty->flags);
|
||||||
|
|
||||||
if (--card->count < 0) {
|
if (--card->count < 0) {
|
||||||
printk(KERN_DEBUG "ISICOM: isicom_shutdown_port: bad board(0x%x) count %d.\n",
|
printk(KERN_DEBUG "ISICOM: isicom_shutdown_port: bad board(0x%lx) count %d.\n",
|
||||||
card->base, card->count);
|
card->base, card->count);
|
||||||
card->count = 0;
|
card->count = 0;
|
||||||
}
|
}
|
||||||
|
@ -1294,7 +1285,7 @@ static void isicom_shutdown_port(struct isi_port *port)
|
||||||
|
|
||||||
static void isicom_close(struct tty_struct *tty, struct file *filp)
|
static void isicom_close(struct tty_struct *tty, struct file *filp)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) tty->driver_data;
|
struct isi_port *port = tty->driver_data;
|
||||||
struct isi_board *card = port->card;
|
struct isi_board *card = port->card;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
|
@ -1314,13 +1305,13 @@ static void isicom_close(struct tty_struct *tty, struct file *filp)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tty->count == 1 && port->count != 1) {
|
if (tty->count == 1 && port->count != 1) {
|
||||||
printk(KERN_WARNING "ISICOM:(0x%x) isicom_close: bad port count"
|
printk(KERN_WARNING "ISICOM:(0x%lx) isicom_close: bad port count"
|
||||||
"tty->count = 1 port count = %d.\n",
|
"tty->count = 1 port count = %d.\n",
|
||||||
card->base, port->count);
|
card->base, port->count);
|
||||||
port->count = 1;
|
port->count = 1;
|
||||||
}
|
}
|
||||||
if (--port->count < 0) {
|
if (--port->count < 0) {
|
||||||
printk(KERN_WARNING "ISICOM:(0x%x) isicom_close: bad port count for"
|
printk(KERN_WARNING "ISICOM:(0x%lx) isicom_close: bad port count for"
|
||||||
"channel%d = %d", card->base, port->channel,
|
"channel%d = %d", card->base, port->channel,
|
||||||
port->count);
|
port->count);
|
||||||
port->count = 0;
|
port->count = 0;
|
||||||
|
@ -1373,7 +1364,7 @@ static void isicom_close(struct tty_struct *tty, struct file *filp)
|
||||||
static int isicom_write(struct tty_struct *tty, const unsigned char *buf,
|
static int isicom_write(struct tty_struct *tty, const unsigned char *buf,
|
||||||
int count)
|
int count)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) tty->driver_data;
|
struct isi_port *port = tty->driver_data;
|
||||||
struct isi_board *card = port->card;
|
struct isi_board *card = port->card;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
int cnt, total = 0;
|
int cnt, total = 0;
|
||||||
|
@ -1408,7 +1399,7 @@ static int isicom_write(struct tty_struct *tty, const unsigned char *buf,
|
||||||
/* put_char et all */
|
/* put_char et all */
|
||||||
static void isicom_put_char(struct tty_struct *tty, unsigned char ch)
|
static void isicom_put_char(struct tty_struct *tty, unsigned char ch)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) tty->driver_data;
|
struct isi_port *port = tty->driver_data;
|
||||||
struct isi_board *card = port->card;
|
struct isi_board *card = port->card;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
|
@ -1433,7 +1424,7 @@ static void isicom_put_char(struct tty_struct *tty, unsigned char ch)
|
||||||
/* flush_chars et all */
|
/* flush_chars et all */
|
||||||
static void isicom_flush_chars(struct tty_struct *tty)
|
static void isicom_flush_chars(struct tty_struct *tty)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) tty->driver_data;
|
struct isi_port *port = tty->driver_data;
|
||||||
|
|
||||||
if (isicom_paranoia_check(port, tty->name, "isicom_flush_chars"))
|
if (isicom_paranoia_check(port, tty->name, "isicom_flush_chars"))
|
||||||
return;
|
return;
|
||||||
|
@ -1449,7 +1440,7 @@ static void isicom_flush_chars(struct tty_struct *tty)
|
||||||
/* write_room et all */
|
/* write_room et all */
|
||||||
static int isicom_write_room(struct tty_struct *tty)
|
static int isicom_write_room(struct tty_struct *tty)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) tty->driver_data;
|
struct isi_port *port = tty->driver_data;
|
||||||
int free;
|
int free;
|
||||||
|
|
||||||
if (isicom_paranoia_check(port, tty->name, "isicom_write_room"))
|
if (isicom_paranoia_check(port, tty->name, "isicom_write_room"))
|
||||||
|
@ -1464,7 +1455,7 @@ static int isicom_write_room(struct tty_struct *tty)
|
||||||
/* chars_in_buffer et all */
|
/* chars_in_buffer et all */
|
||||||
static int isicom_chars_in_buffer(struct tty_struct *tty)
|
static int isicom_chars_in_buffer(struct tty_struct *tty)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) tty->driver_data;
|
struct isi_port *port = tty->driver_data;
|
||||||
if (isicom_paranoia_check(port, tty->name, "isicom_chars_in_buffer"))
|
if (isicom_paranoia_check(port, tty->name, "isicom_chars_in_buffer"))
|
||||||
return 0;
|
return 0;
|
||||||
return port->xmit_cnt;
|
return port->xmit_cnt;
|
||||||
|
@ -1474,7 +1465,7 @@ static int isicom_chars_in_buffer(struct tty_struct *tty)
|
||||||
static inline void isicom_send_break(struct isi_port *port, unsigned long length)
|
static inline void isicom_send_break(struct isi_port *port, unsigned long length)
|
||||||
{
|
{
|
||||||
struct isi_board *card = port->card;
|
struct isi_board *card = port->card;
|
||||||
unsigned short base = card->base;
|
unsigned long base = card->base;
|
||||||
|
|
||||||
if (!lock_card(card))
|
if (!lock_card(card))
|
||||||
return;
|
return;
|
||||||
|
@ -1489,9 +1480,9 @@ static inline void isicom_send_break(struct isi_port *port, unsigned long length
|
||||||
|
|
||||||
static int isicom_tiocmget(struct tty_struct *tty, struct file *file)
|
static int isicom_tiocmget(struct tty_struct *tty, struct file *file)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) tty->driver_data;
|
struct isi_port *port = tty->driver_data;
|
||||||
/* just send the port status */
|
/* just send the port status */
|
||||||
unsigned short status = port->status;
|
u16 status = port->status;
|
||||||
|
|
||||||
if (isicom_paranoia_check(port, tty->name, "isicom_ioctl"))
|
if (isicom_paranoia_check(port, tty->name, "isicom_ioctl"))
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
@ -1507,7 +1498,7 @@ static int isicom_tiocmget(struct tty_struct *tty, struct file *file)
|
||||||
static int isicom_tiocmset(struct tty_struct *tty, struct file *file,
|
static int isicom_tiocmset(struct tty_struct *tty, struct file *file,
|
||||||
unsigned int set, unsigned int clear)
|
unsigned int set, unsigned int clear)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) tty->driver_data;
|
struct isi_port *port = tty->driver_data;
|
||||||
|
|
||||||
if (isicom_paranoia_check(port, tty->name, "isicom_ioctl"))
|
if (isicom_paranoia_check(port, tty->name, "isicom_ioctl"))
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
@ -1580,7 +1571,7 @@ static int isicom_get_serial_info(struct isi_port *port,
|
||||||
static int isicom_ioctl(struct tty_struct *tty, struct file *filp,
|
static int isicom_ioctl(struct tty_struct *tty, struct file *filp,
|
||||||
unsigned int cmd, unsigned long arg)
|
unsigned int cmd, unsigned long arg)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) tty->driver_data;
|
struct isi_port *port = tty->driver_data;
|
||||||
void __user *argp = (void __user *)arg;
|
void __user *argp = (void __user *)arg;
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
|
@ -1632,7 +1623,7 @@ static int isicom_ioctl(struct tty_struct *tty, struct file *filp,
|
||||||
static void isicom_set_termios(struct tty_struct *tty,
|
static void isicom_set_termios(struct tty_struct *tty,
|
||||||
struct termios *old_termios)
|
struct termios *old_termios)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) tty->driver_data;
|
struct isi_port *port = tty->driver_data;
|
||||||
|
|
||||||
if (isicom_paranoia_check(port, tty->name, "isicom_set_termios"))
|
if (isicom_paranoia_check(port, tty->name, "isicom_set_termios"))
|
||||||
return;
|
return;
|
||||||
|
@ -1653,7 +1644,7 @@ static void isicom_set_termios(struct tty_struct *tty,
|
||||||
/* throttle et all */
|
/* throttle et all */
|
||||||
static void isicom_throttle(struct tty_struct *tty)
|
static void isicom_throttle(struct tty_struct *tty)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) tty->driver_data;
|
struct isi_port *port = tty->driver_data;
|
||||||
struct isi_board *card = port->card;
|
struct isi_board *card = port->card;
|
||||||
|
|
||||||
if (isicom_paranoia_check(port, tty->name, "isicom_throttle"))
|
if (isicom_paranoia_check(port, tty->name, "isicom_throttle"))
|
||||||
|
@ -1667,7 +1658,7 @@ static void isicom_throttle(struct tty_struct *tty)
|
||||||
/* unthrottle et all */
|
/* unthrottle et all */
|
||||||
static void isicom_unthrottle(struct tty_struct *tty)
|
static void isicom_unthrottle(struct tty_struct *tty)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) tty->driver_data;
|
struct isi_port *port = tty->driver_data;
|
||||||
struct isi_board *card = port->card;
|
struct isi_board *card = port->card;
|
||||||
|
|
||||||
if (isicom_paranoia_check(port, tty->name, "isicom_unthrottle"))
|
if (isicom_paranoia_check(port, tty->name, "isicom_unthrottle"))
|
||||||
|
@ -1681,7 +1672,7 @@ static void isicom_unthrottle(struct tty_struct *tty)
|
||||||
/* stop et all */
|
/* stop et all */
|
||||||
static void isicom_stop(struct tty_struct *tty)
|
static void isicom_stop(struct tty_struct *tty)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) tty->driver_data;
|
struct isi_port *port = tty->driver_data;
|
||||||
|
|
||||||
if (isicom_paranoia_check(port, tty->name, "isicom_stop"))
|
if (isicom_paranoia_check(port, tty->name, "isicom_stop"))
|
||||||
return;
|
return;
|
||||||
|
@ -1694,7 +1685,7 @@ static void isicom_stop(struct tty_struct *tty)
|
||||||
/* start et all */
|
/* start et all */
|
||||||
static void isicom_start(struct tty_struct *tty)
|
static void isicom_start(struct tty_struct *tty)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) tty->driver_data;
|
struct isi_port *port = tty->driver_data;
|
||||||
|
|
||||||
if (isicom_paranoia_check(port, tty->name, "isicom_start"))
|
if (isicom_paranoia_check(port, tty->name, "isicom_start"))
|
||||||
return;
|
return;
|
||||||
|
@ -1707,7 +1698,7 @@ static void isicom_start(struct tty_struct *tty)
|
||||||
/* hangup et all */
|
/* hangup et all */
|
||||||
static void do_isicom_hangup(void *data)
|
static void do_isicom_hangup(void *data)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) data;
|
struct isi_port *port = data;
|
||||||
struct tty_struct *tty;
|
struct tty_struct *tty;
|
||||||
|
|
||||||
tty = port->tty;
|
tty = port->tty;
|
||||||
|
@ -1717,7 +1708,7 @@ static void do_isicom_hangup(void *data)
|
||||||
|
|
||||||
static void isicom_hangup(struct tty_struct *tty)
|
static void isicom_hangup(struct tty_struct *tty)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) tty->driver_data;
|
struct isi_port *port = tty->driver_data;
|
||||||
|
|
||||||
if (isicom_paranoia_check(port, tty->name, "isicom_hangup"))
|
if (isicom_paranoia_check(port, tty->name, "isicom_hangup"))
|
||||||
return;
|
return;
|
||||||
|
@ -1732,7 +1723,7 @@ static void isicom_hangup(struct tty_struct *tty)
|
||||||
/* flush_buffer et all */
|
/* flush_buffer et all */
|
||||||
static void isicom_flush_buffer(struct tty_struct *tty)
|
static void isicom_flush_buffer(struct tty_struct *tty)
|
||||||
{
|
{
|
||||||
struct isi_port *port = (struct isi_port *) tty->driver_data;
|
struct isi_port *port = tty->driver_data;
|
||||||
struct isi_board *card = port->card;
|
struct isi_board *card = port->card;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
|
@ -1754,7 +1745,7 @@ static int __devinit register_ioregion(void)
|
||||||
for (count=0; count < BOARD_COUNT; count++ ) {
|
for (count=0; count < BOARD_COUNT; count++ ) {
|
||||||
if (isi_card[count].base)
|
if (isi_card[count].base)
|
||||||
if (!request_region(isi_card[count].base,16,ISICOM_NAME)) {
|
if (!request_region(isi_card[count].base,16,ISICOM_NAME)) {
|
||||||
printk(KERN_DEBUG "ISICOM: I/O Region 0x%x-0x%x is busy. Card%d will be disabled.\n",
|
printk(KERN_DEBUG "ISICOM: I/O Region 0x%lx-0x%lx is busy. Card%d will be disabled.\n",
|
||||||
isi_card[count].base,isi_card[count].base+15,count+1);
|
isi_card[count].base,isi_card[count].base+15,count+1);
|
||||||
isi_card[count].base=0;
|
isi_card[count].base=0;
|
||||||
done++;
|
done++;
|
||||||
|
@ -1770,7 +1761,7 @@ static void unregister_ioregion(void)
|
||||||
if (isi_card[count].base) {
|
if (isi_card[count].base) {
|
||||||
release_region(isi_card[count].base,16);
|
release_region(isi_card[count].base,16);
|
||||||
#ifdef ISICOM_DEBUG
|
#ifdef ISICOM_DEBUG
|
||||||
printk(KERN_DEBUG "ISICOM: I/O Region 0x%x-0x%x released for Card%d.\n",isi_card[count].base,isi_card[count].base+15,count+1);
|
printk(KERN_DEBUG "ISICOM: I/O Region 0x%lx-0x%lx released for Card%d.\n",isi_card[count].base,isi_card[count].base+15,count+1);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user