aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/airo_cs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/airo_cs.c')
-rw-r--r--drivers/net/wireless/airo_cs.c25
1 files changed, 5 insertions, 20 deletions
diff --git a/drivers/net/wireless/airo_cs.c b/drivers/net/wireless/airo_cs.c
index f6036fb42319..7867c51be15f 100644
--- a/drivers/net/wireless/airo_cs.c
+++ b/drivers/net/wireless/airo_cs.c
@@ -132,10 +132,6 @@ static int airo_probe(struct pcmcia_device *p_dev)
132 132
133 dev_dbg(&p_dev->dev, "airo_attach()\n"); 133 dev_dbg(&p_dev->dev, "airo_attach()\n");
134 134
135 /* Interrupt setup */
136 p_dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
137 p_dev->irq.Handler = NULL;
138
139 /* 135 /*
140 General socket configuration defaults can go here. In this 136 General socket configuration defaults can go here. In this
141 client, we assume very little, and rely on the CIS for almost 137 client, we assume very little, and rely on the CIS for almost
@@ -212,9 +208,7 @@ static int airo_cs_config_check(struct pcmcia_device *p_dev,
212 else if (dflt->vpp1.present & (1<<CISTPL_POWER_VNOM)) 208 else if (dflt->vpp1.present & (1<<CISTPL_POWER_VNOM))
213 p_dev->conf.Vpp = dflt->vpp1.param[CISTPL_POWER_VNOM]/10000; 209 p_dev->conf.Vpp = dflt->vpp1.param[CISTPL_POWER_VNOM]/10000;
214 210
215 /* Do we need to allocate an interrupt? */ 211 p_dev->conf.Attributes |= CONF_ENABLE_IRQ;
216 if (cfg->irq.IRQInfo1 || dflt->irq.IRQInfo1)
217 p_dev->conf.Attributes |= CONF_ENABLE_IRQ;
218 212
219 /* IO window settings */ 213 /* IO window settings */
220 p_dev->io.NumPorts1 = p_dev->io.NumPorts2 = 0; 214 p_dev->io.NumPorts1 = p_dev->io.NumPorts2 = 0;
@@ -300,16 +294,8 @@ static int airo_config(struct pcmcia_device *link)
300 if (ret) 294 if (ret)
301 goto failed; 295 goto failed;
302 296
303 /* 297 if (!link->irq)
304 Allocate an interrupt line. Note that this does not assign a 298 goto failed;
305 handler to the interrupt, unless the 'Handler' member of the
306 irq structure is initialized.
307 */
308 if (link->conf.Attributes & CONF_ENABLE_IRQ) {
309 ret = pcmcia_request_irq(link, &link->irq);
310 if (ret)
311 goto failed;
312 }
313 299
314 /* 300 /*
315 This actually configures the PCMCIA socket -- setting up 301 This actually configures the PCMCIA socket -- setting up
@@ -320,7 +306,7 @@ static int airo_config(struct pcmcia_device *link)
320 if (ret) 306 if (ret)
321 goto failed; 307 goto failed;
322 ((local_info_t *)link->priv)->eth_dev = 308 ((local_info_t *)link->priv)->eth_dev =
323 init_airo_card(link->irq.AssignedIRQ, 309 init_airo_card(link->irq,
324 link->io.BasePort1, 1, &link->dev); 310 link->io.BasePort1, 1, &link->dev);
325 if (!((local_info_t *)link->priv)->eth_dev) 311 if (!((local_info_t *)link->priv)->eth_dev)
326 goto failed; 312 goto failed;
@@ -338,8 +324,7 @@ static int airo_config(struct pcmcia_device *link)
338 dev->node.dev_name, link->conf.ConfigIndex); 324 dev->node.dev_name, link->conf.ConfigIndex);
339 if (link->conf.Vpp) 325 if (link->conf.Vpp)
340 printk(", Vpp %d.%d", link->conf.Vpp/10, link->conf.Vpp%10); 326 printk(", Vpp %d.%d", link->conf.Vpp/10, link->conf.Vpp%10);
341 if (link->conf.Attributes & CONF_ENABLE_IRQ) 327 printk(", irq %d", link->irq);
342 printk(", irq %d", link->irq.AssignedIRQ);
343 if (link->io.NumPorts1) 328 if (link->io.NumPorts1)
344 printk(", io 0x%04x-0x%04x", link->io.BasePort1, 329 printk(", io 0x%04x-0x%04x", link->io.BasePort1,
345 link->io.BasePort1+link->io.NumPorts1-1); 330 link->io.BasePort1+link->io.NumPorts1-1);