patch-1.3.70 linux/drivers/char/serial.c
Next file: linux/drivers/char/stallion.c
Previous file: linux/drivers/char/scc.c
Back to the patch index
Back to the overall index
- Lines: 149
- Date:
Fri Mar 1 07:50:41 1996
- Orig file:
v1.3.69/linux/drivers/char/serial.c
- Orig date:
Sun Feb 11 15:32:44 1996
diff -u --recursive --new-file v1.3.69/linux/drivers/char/serial.c linux/drivers/char/serial.c
@@ -351,7 +351,7 @@
* This is the serial driver's interrupt routine while we are probing
* for submarines.
*/
-static void rs_probe(int irq, struct pt_regs * regs)
+static void rs_probe(int irq, void *dev_id, struct pt_regs * regs)
{
rs_irq_triggered = irq;
rs_triggered |= 1 << irq;
@@ -514,7 +514,7 @@
/*
* This is the serial driver's generic interrupt routine
*/
-static void rs_interrupt(int irq, struct pt_regs * regs)
+static void rs_interrupt(int irq, void *dev_id, struct pt_regs * regs)
{
int status;
struct async_struct * info;
@@ -580,7 +580,7 @@
/*
* This is the serial driver's interrupt routine for a single port
*/
-static void rs_interrupt_single(int irq, struct pt_regs * regs)
+static void rs_interrupt_single(int irq, void *dev_id, struct pt_regs * regs)
{
int status;
int pass_counter = 0;
@@ -629,7 +629,7 @@
/*
* This is the serial driver's for multiport boards
*/
-static void rs_interrupt_multi(int irq, struct pt_regs * regs)
+static void rs_interrupt_multi(int irq, void *dev_id, struct pt_regs * regs)
{
int status;
struct async_struct * info;
@@ -794,11 +794,11 @@
info = info->next_port;
} while (info);
if (rs_multiport[i].port1)
- rs_interrupt_multi(i, NULL);
+ rs_interrupt_multi(i, NULL, NULL);
else
- rs_interrupt(i, NULL);
+ rs_interrupt(i, NULL, NULL);
} else
- rs_interrupt_single(i, NULL);
+ rs_interrupt_single(i, NULL, NULL);
sti();
}
}
@@ -808,7 +808,7 @@
if (IRQ_ports[0]) {
cli();
- rs_interrupt(0, NULL);
+ rs_interrupt(0, NULL, NULL);
sti();
timer_table[RS_TIMER].expires = jiffies + IRQ_timeout[0] - 2;
@@ -836,7 +836,7 @@
int i, mask;
for (i = 0, mask = 1; i < 16; i++, mask <<= 1) {
- if (!(mask & dontgrab) && !request_irq(i, rs_probe, SA_INTERRUPT, "serial probe")) {
+ if (!(mask & dontgrab) && !request_irq(i, rs_probe, SA_INTERRUPT, "serial probe", NULL)) {
irq_lines |= mask;
}
}
@@ -852,7 +852,7 @@
for (i = 0; i < 16; i++) {
if (irq_lines & (1 << i))
- free_irq(i);
+ free_irq(i, NULL);
}
}
@@ -886,7 +886,7 @@
unsigned short ICP;
unsigned long flags;
int retval;
- void (*handler)(int, struct pt_regs *);
+ void (*handler)(int, void *, struct pt_regs *);
unsigned long page;
page = get_free_page(GFP_KERNEL);
@@ -954,7 +954,7 @@
if (info->irq && (!IRQ_ports[info->irq] ||
!IRQ_ports[info->irq]->next_port)) {
if (IRQ_ports[info->irq]) {
- free_irq(info->irq);
+ free_irq(info->irq, NULL);
if (rs_multiport[info->irq].port1)
handler = rs_interrupt_multi;
else
@@ -962,7 +962,7 @@
} else
handler = rs_interrupt_single;
- retval = request_irq(info->irq, handler, SA_INTERRUPT, "serial");
+ retval = request_irq(info->irq, handler, SA_INTERRUPT, "serial", NULL);
if (retval) {
restore_flags(flags);
if (suser()) {
@@ -1089,14 +1089,14 @@
if (info->irq && (!IRQ_ports[info->irq] ||
!IRQ_ports[info->irq]->next_port)) {
if (IRQ_ports[info->irq]) {
- free_irq(info->irq);
- retval = request_irq(info->irq, rs_interrupt_single, SA_INTERRUPT, "serial");
+ free_irq(info->irq, NULL);
+ retval = request_irq(info->irq, rs_interrupt_single, SA_INTERRUPT, "serial", NULL);
if (retval)
printk("serial shutdown: request_irq: error %d"
" Couldn't reacquire IRQ.\n", retval);
} else
- free_irq(info->irq);
+ free_irq(info->irq, NULL);
}
if (info->xmit_buf) {
@@ -1792,7 +1792,7 @@
struct rs_multiport_struct *multi;
int was_multi, now_multi;
int retval;
- void (*handler)(int, struct pt_regs *);
+ void (*handler)(int, void *, struct pt_regs *);
if (!suser())
return -EPERM;
@@ -1846,14 +1846,14 @@
if (IRQ_ports[info->irq]->next_port &&
(was_multi != now_multi)) {
- free_irq(info->irq);
+ free_irq(info->irq, NULL);
if (now_multi)
handler = rs_interrupt_multi;
else
handler = rs_interrupt;
retval = request_irq(info->irq, handler, SA_INTERRUPT,
- "serial");
+ "serial", NULL);
if (retval) {
printk("Couldn't reallocate serial interrupt "
"driver!!\n");
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this