lkml.org 
[lkml]   [1996]   [Mar]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject1.3.70 breaks pcmcia 2.8.8 - FIX
Here's a patch file which fixed pcmcia-cs-2.8.8 to compile under 1.3.70

I've only tested it on a Toshiba T2135CS with a Linksys ethernet and a
Megahertz XJ1144 modem. Any other takers for testing?

diff -u --recursive --new-file pcmcia-cs-2.8.8/modules/cs.c pcmcia-cs-2.8.8a/modules/cs.c
--- pcmcia-cs-2.8.8/modules/cs.c Wed Jan 24 09:11:55 1996
+++ pcmcia-cs-2.8.8a/modules/cs.c Sun Mar 3 20:57:24 1996
@@ -342,7 +342,7 @@
init_socket(s);
#ifdef IRQ_SHARING
if ((s->functions > 1) && (s->irq.AssignedIRQ))
- free_irq(s->irq.AssignedIRQ);
+ free_irq(s->irq.AssignedIRQ, NULL);
#endif
s->irq.AssignedIRQ = s->irq.Config = 0;
s->functions = 0;
@@ -615,7 +615,7 @@

#ifdef IRQ_SHARING
extern void raise_irq(int, struct pt_regs *);
-static void handle_multi_irq(int irq, struct pt_regs *regs)
+static void handle_multi_irq(int irq, void *dev_id, struct pt_regs *regs)
{
socket_info_t *s = irq_table[irq].Socket;
client_handle_t client;
@@ -793,7 +793,7 @@
return CS_BAD_ATTRIBUTE;
if ((info->Attributes & RES_RESERVED) && !specific)
return CS_IN_USE;
- if (request_irq(irq, NULL, 0, "bogus") == -EBUSY)
+ if (request_irq(irq, NULL, 0, "bogus", NULL) == -EBUSY)
return CS_IN_USE;
}
return 0;
@@ -1342,7 +1342,7 @@
(req->AssignedIRQ != handle->SoftIRQ))
return CS_BAD_IRQ;
if ((s->functions > 1) && (s->irq.Config == 0)) {
- free_irq(s->irq.AssignedIRQ);
+ free_irq(s->irq.AssignedIRQ, NULL);
s->irq.AssignedIRQ = 0;
}
#else
@@ -1355,12 +1355,12 @@

#ifdef IRQ_SHARING
if (req->Handler && !handle->IRQHandler)
- free_irq(req->AssignedIRQ);
+ free_irq(req->AssignedIRQ, NULL);
handle->SoftIRQ = 0;
handle->IRQHandler = NULL;
#else
if (req->Handler)
- free_irq(req->AssignedIRQ);
+ free_irq(req->AssignedIRQ, NULL);
#endif
info = &irq_table[req->AssignedIRQ];
switch (req->Attributes & IRQ_TYPE) {
@@ -1642,7 +1642,7 @@
info->Socket = s;
if (s->functions > 1) {
if (s->irq.Config == 0) {
- if (request_irq(irq, handle_multi_irq, 0, "multi-function"))
+ if (request_irq(irq, handle_multi_irq, 0, "multi-function", NULL))
return CS_IN_USE;
s->irq.AssignedIRQ = req->AssignedIRQ = irq;
s->irq.Attributes = req->Attributes;
@@ -1654,7 +1654,7 @@
}
else {
if (req->Handler &&
- request_irq(irq, req->Handler, 0, (char *)handle->dev_info))
+ request_irq(irq, req->Handler, 0, (char *)handle->dev_info, NULL))
return CS_IN_USE;
s->irq.AssignedIRQ = req->AssignedIRQ = irq;
s->irq.Attributes = req->Attributes;
@@ -1672,7 +1672,7 @@
}

if (req->Handler &&
- request_irq(irq, req->Handler, 0, (char *)handle->dev_info))
+ request_irq(irq, req->Handler, 0, (char *)handle->dev_info, NULL))
return CS_IN_USE;

s->irq.AssignedIRQ = req->AssignedIRQ = irq;
diff -u --recursive --new-file pcmcia-cs-2.8.8/modules/i82365.c pcmcia-cs-2.8.8a/modules/i82365.c
--- pcmcia-cs-2.8.8/modules/i82365.c Thu Feb 1 09:33:09 1996
+++ pcmcia-cs-2.8.8a/modules/i82365.c Sun Mar 3 20:47:29 1996
@@ -95,7 +95,7 @@

static struct timer_list poll_timer;

-static void i365_interrupt(int irq, struct pt_regs *regs);
+static void i365_interrupt(int irq, void *dev_id, struct pt_regs *regs);

static int i365_service(u_int sock, u_int cmd, void *arg);

@@ -197,19 +197,19 @@

static volatile u_long irq_hits;

-static void irq_count(int irq, struct pt_regs *regs)
+static void irq_count(int irq, void *dev_id, struct pt_regs *regs)
{
irq_hits++;
}

static u_long try_irq(u_short psock, int irq)
{
- if (request_irq(irq, irq_count, 0, "irq scan") != 0)
+ if (request_irq(irq, irq_count, 0, "irq scan", NULL) != 0)
return -1;
irq_hits = 0;
busy_loop(2);
if (irq_hits) {
- free_irq(irq);
+ free_irq(irq, NULL);
return -1;
}

@@ -219,7 +219,7 @@
i365_bset(psock, I365_GENCTL, I365_CTL_SW_IRQ);

busy_loop(2);
- free_irq(irq);
+ free_irq(irq, NULL);

/* Turn off interrupts */
i365_set(psock, I365_CSCINT, 0);
@@ -390,12 +390,12 @@
if (cs_irq == 0) {
for (i = 15; i > 0; i--)
if ((mask & (1 << i)) &&
- (request_irq(i, i365_interrupt, 0, "i82365") == 0))
+ (request_irq(i, i365_interrupt, 0, "i82365", NULL) == 0))
break;
cs_irq = i;
}
else {
- if (request_irq(cs_irq, i365_interrupt, 0, "i82365") != 0)
+ if (request_irq(cs_irq, i365_interrupt, 0, "i82365", NULL) != 0)
cs_irq = 0;
}
if (cs_irq == 0) poll_interval = 100;
@@ -537,7 +537,7 @@
release_region(i365_base, 8);
for (i = 0; i < sockets; i++)
if (((i & 3) == 0) && socket_table[i].cs_irq)
- free_irq(socket_table[i].cs_irq);
+ free_irq(socket_table[i].cs_irq, NULL);
return -ENODEV;
}

@@ -563,14 +563,14 @@
for (i = 0; i < sockets; i++) {
i365_set(socket_table[i].psock, I365_CSCINT, 0);
if (((i & 3) == 0) && socket_table[i].cs_irq)
- free_irq(socket_table[i].cs_irq);
+ free_irq(socket_table[i].cs_irq, NULL);
}
release_region(i365_base, 8);
} /* i365_finish */

/*====================================================================*/

-static void i365_interrupt(int irq, struct pt_regs *regs)
+static void i365_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
int i, csc;
u_short psock;
diff -u --recursive --new-file pcmcia-cs-2.8.8/modules/tcic.c pcmcia-cs-2.8.8a/modules/tcic.c
--- pcmcia-cs-2.8.8/modules/tcic.c Sat Jan 27 14:55:22 1996
+++ pcmcia-cs-2.8.8a/modules/tcic.c Sun Mar 3 20:52:28 1996
@@ -71,7 +71,7 @@

/*====================================================================*/

-static void tcic_interrupt(int irq, struct pt_regs *regs);
+static void tcic_interrupt(int irq, void *dev_id, struct pt_regs *regs);
static void tcic_timer(u_long data);
static int tcic_service(u_int sock, u_int cmd, void *arg);

@@ -199,7 +199,7 @@

static volatile u_long irq_hits;

-static void irq_count(int irq, struct pt_regs *regs)
+static void irq_count(int irq, void *dev_id, struct pt_regs *regs)
{
irq_hits++;
}
@@ -208,12 +208,12 @@
{
u_short cfg;

- if (request_irq(irq, irq_count, 0, "irq scan") != 0)
+ if (request_irq(irq, irq_count, 0, "irq scan", NULL) != 0)
return -1;
irq_hits = 0;
busy_loop(2);
if (irq_hits) {
- free_irq(irq);
+ free_irq(irq, NULL);
return -1;
}

@@ -224,7 +224,7 @@
tcic_setb(TCIC_ICSR, TCIC_ICSR_ERR | TCIC_ICSR_JAM);

busy_loop(2);
- free_irq(irq);
+ free_irq(irq, NULL);

/* Turn off interrupts */
tcic_setb(TCIC_IENA, TCIC_IENA_CFG_OFF);
@@ -325,12 +325,12 @@
if (cs_irq == 0) {
for (i = 15; i > 0; i--)
if ((mask & (1 << i)) &&
- (request_irq(i, tcic_interrupt, 0, "tcic") == 0))
+ (request_irq(i, tcic_interrupt, 0, "tcic", NULL) == 0))
break;
cs_irq = i;
}
else {
- if (request_irq(cs_irq, tcic_interrupt, 0, "tcic") != 0)
+ if (request_irq(cs_irq, tcic_interrupt, 0, "tcic", NULL) != 0)
cs_irq = 0;
}
if (cs_irq == 0) poll_interval = 100;
@@ -349,13 +349,13 @@
}

/* jump start interrupt handler, if needed */
- tcic_interrupt(0, NULL);
+ tcic_interrupt(0, NULL, NULL);

if (register_ss_entry(sockets, &tcic_service) != 0) {
printk("tcic: register_ss_entry() failed\n");
release_region(tcic_base, 16);
if (cs_irq != 0)
- free_irq(cs_irq);
+ free_irq(cs_irq, NULL);
return -ENODEV;
}

@@ -373,7 +373,7 @@
cli();
if (cs_irq != 0) {
tcic_aux_setw(TCIC_AUX_SYSCFG, TCIC_SYSCFG_AUTOBUSY|0x0a00);
- free_irq(cs_irq);
+ free_irq(cs_irq, NULL);
}
if (timer_pending)
del_timer(&poll_timer);
@@ -383,7 +383,7 @@

/*====================================================================*/

-static void tcic_interrupt(int irq, struct pt_regs *regs)
+static void tcic_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
int i, quick = 0;
u_char latch, sstat;
@@ -452,7 +452,7 @@
printk("tcic: tcic_timer()\n");
#endif
timer_pending = 0;
- tcic_interrupt(0, NULL);
+ tcic_interrupt(0, NULL, NULL);
} /* tcic_timer */

/*====================================================================*/






\
 
 \ /
  Last update: 2005-03-22 13:36    [W:0.032 / U:0.252 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site