Patch to clean up irq2dev_map references in isdn code

Gordon Chaffee (chaffee@kitty1.cs.berkeley.edu)
Sun, 2 Nov 1997 17:25:19 -0800 (PST)


Here is a patch against 2.1.61 to clean up uses of irq2dev_map in the
ISDN drivers. I think it should work properly.

- Gordon

diff -ur linux-2.1.61-clean/drivers/isdn/hisax/avm_a1.c linux/drivers/isdn/hisax/avm_a1.c
--- linux-2.1.61-clean/drivers/isdn/hisax/avm_a1.c Thu May 29 21:53:05 1997
+++ linux/drivers/isdn/hisax/avm_a1.c Sun Nov 2 18:17:21 1997
@@ -558,7 +558,7 @@
u_char val, sval, stat = 0;
char tmp[32];

- sp = (struct IsdnCardState *) irq2dev_map[intno];
+ sp = (struct IsdnCardState *) dev_id;

if (!sp) {
printk(KERN_WARNING "AVM A1: Spurious interrupt!\n");
@@ -798,7 +798,6 @@
printk(KERN_WARNING
"AVM A1: IRQ(%d) getting no interrupts during init\n",
sp->irq);
- irq2dev_map[sp->irq] = NULL;
free_irq(sp->irq, NULL);
return (0);
}
diff -ur linux-2.1.61-clean/drivers/isdn/hisax/elsa.c linux/drivers/isdn/hisax/elsa.c
--- linux-2.1.61-clean/drivers/isdn/hisax/elsa.c Thu May 29 21:53:05 1997
+++ linux/drivers/isdn/hisax/elsa.c Sun Nov 2 18:17:34 1997
@@ -887,7 +887,7 @@
struct IsdnCardState *sp;
u_char val;

- sp = (struct IsdnCardState *) irq2dev_map[intno];
+ sp = (struct IsdnCardState *) dev_id;

if (!sp) {
printk(KERN_WARNING "Elsa: Spurious interrupt!\n");
@@ -1219,7 +1219,6 @@
"Elsa: IRQ(%d) getting no interrupts during init %d\n",
sp->irq, 4 - cnt);
if (cnt == 1) {
- irq2dev_map[sp->irq] = NULL;
free_irq(sp->irq, NULL);
return (0);
} else {
diff -ur linux-2.1.61-clean/drivers/isdn/hisax/isdnl1.c linux/drivers/isdn/hisax/isdnl1.c
--- linux-2.1.61-clean/drivers/isdn/hisax/isdnl1.c Thu May 29 21:53:06 1997
+++ linux/drivers/isdn/hisax/isdnl1.c Sun Nov 2 18:17:03 1997
@@ -766,13 +766,12 @@
save_flags(flags);
cli();
if (request_irq(card->sp->irq, routine,
- I4L_IRQ_FLAG, "HiSax", NULL)) {
+ I4L_IRQ_FLAG, "HiSax", card->sp)) {
printk(KERN_WARNING "HiSax: couldn't get interrupt %d\n",
card->sp->irq);
restore_flags(flags);
return (0);
}
- irq2dev_map[card->sp->irq] = (void *) card->sp;
restore_flags(flags);
return (1);
}
@@ -782,7 +781,6 @@
{
struct IsdnCard *card = cards + cardnr;

- irq2dev_map[card->sp->irq] = NULL;
free_irq(card->sp->irq, NULL);
}

diff -ur linux-2.1.61-clean/drivers/isdn/hisax/ix1_micro.c linux/drivers/isdn/hisax/ix1_micro.c
--- linux-2.1.61-clean/drivers/isdn/hisax/ix1_micro.c Thu May 29 21:53:06 1997
+++ linux/drivers/isdn/hisax/ix1_micro.c Sun Nov 2 18:18:02 1997
@@ -644,7 +644,7 @@
struct IsdnCardState *sp;
u_char val, stat = 0;

- sp = (struct IsdnCardState *) irq2dev_map[intno];
+ sp = (struct IsdnCardState *) dev_id;

if (!sp) {
printk(KERN_WARNING "Teles: Spurious interrupt!\n");
@@ -867,7 +867,6 @@
printk(KERN_WARNING
"ix1-Micro: IRQ(%d) getting no interrupts during init\n",
sp->irq);
- irq2dev_map[sp->irq] = NULL;
free_irq(sp->irq, NULL);
return (0);
}
diff -ur linux-2.1.61-clean/drivers/isdn/hisax/teles0.c linux/drivers/isdn/hisax/teles0.c
--- linux-2.1.61-clean/drivers/isdn/hisax/teles0.c Thu May 29 21:53:06 1997
+++ linux/drivers/isdn/hisax/teles0.c Sun Nov 2 18:18:12 1997
@@ -605,7 +605,7 @@
struct IsdnCardState *sp;
u_char val, stat = 0;

- sp = (struct IsdnCardState *) irq2dev_map[intno];
+ sp = (struct IsdnCardState *) dev_id;

if (!sp) {
printk(KERN_WARNING "Teles0: Spurious interrupt!\n");
@@ -828,7 +828,6 @@
printk(KERN_WARNING
"Teles0: IRQ(%d) getting no interrupts during init\n",
sp->irq);
- irq2dev_map[sp->irq] = NULL;
free_irq(sp->irq, NULL);
return (0);
}
diff -ur linux-2.1.61-clean/drivers/isdn/hisax/teles3.c linux/drivers/isdn/hisax/teles3.c
--- linux-2.1.61-clean/drivers/isdn/hisax/teles3.c Thu May 29 21:53:06 1997
+++ linux/drivers/isdn/hisax/teles3.c Sun Nov 2 18:18:21 1997
@@ -585,7 +585,7 @@
u_char val, stat = 0;
int count = 0;

- sp = (struct IsdnCardState *) irq2dev_map[intno];
+ sp = (struct IsdnCardState *) dev_id;

if (!sp) {
printk(KERN_WARNING "Teles: Spurious interrupt!\n");
@@ -829,7 +829,6 @@
printk(KERN_WARNING
"Teles3: IRQ(%d) getting no interrupts during init\n",
sp->irq);
- irq2dev_map[sp->irq] = NULL;
free_irq(sp->irq, NULL);
return (0);
}