diff options
Diffstat (limited to 'drivers/net/wireless/airo_cs.c')
-rw-r--r-- | drivers/net/wireless/airo_cs.c | 25 |
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); |