aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/atmel_cs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/atmel_cs.c')
-rw-r--r--drivers/net/wireless/atmel_cs.c28
1 files changed, 5 insertions, 23 deletions
diff --git a/drivers/net/wireless/atmel_cs.c b/drivers/net/wireless/atmel_cs.c
index 32407911842f..759cdc419326 100644
--- a/drivers/net/wireless/atmel_cs.c
+++ b/drivers/net/wireless/atmel_cs.c
@@ -141,10 +141,6 @@ static int atmel_probe(struct pcmcia_device *p_dev)
141 141
142 dev_dbg(&p_dev->dev, "atmel_attach()\n"); 142 dev_dbg(&p_dev->dev, "atmel_attach()\n");
143 143
144 /* Interrupt setup */
145 p_dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
146 p_dev->irq.Handler = NULL;
147
148 /* 144 /*
149 General socket configuration defaults can go here. In this 145 General socket configuration defaults can go here. In this
150 client, we assume very little, and rely on the CIS for almost 146 client, we assume very little, and rely on the CIS for almost
@@ -226,9 +222,7 @@ static int atmel_config_check(struct pcmcia_device *p_dev,
226 else if (dflt->vpp1.present & (1<<CISTPL_POWER_VNOM)) 222 else if (dflt->vpp1.present & (1<<CISTPL_POWER_VNOM))
227 p_dev->conf.Vpp = dflt->vpp1.param[CISTPL_POWER_VNOM]/10000; 223 p_dev->conf.Vpp = dflt->vpp1.param[CISTPL_POWER_VNOM]/10000;
228 224
229 /* Do we need to allocate an interrupt? */ 225 p_dev->conf.Attributes |= CONF_ENABLE_IRQ;
230 if (cfg->irq.IRQInfo1 || dflt->irq.IRQInfo1)
231 p_dev->conf.Attributes |= CONF_ENABLE_IRQ;
232 226
233 /* IO window settings */ 227 /* IO window settings */
234 p_dev->io.NumPorts1 = p_dev->io.NumPorts2 = 0; 228 p_dev->io.NumPorts1 = p_dev->io.NumPorts2 = 0;
@@ -278,15 +272,9 @@ static int atmel_config(struct pcmcia_device *link)
278 if (pcmcia_loop_config(link, atmel_config_check, NULL)) 272 if (pcmcia_loop_config(link, atmel_config_check, NULL))
279 goto failed; 273 goto failed;
280 274
281 /* 275 if (!link->irq) {
282 Allocate an interrupt line. Note that this does not assign a 276 dev_err(&link->dev, "atmel: cannot assign IRQ: check that CONFIG_ISA is set in kernel config.");
283 handler to the interrupt, unless the 'Handler' member of the 277 goto failed;
284 irq structure is initialized.
285 */
286 if (link->conf.Attributes & CONF_ENABLE_IRQ) {
287 ret = pcmcia_request_irq(link, &link->irq);
288 if (ret)
289 goto failed;
290 } 278 }
291 279
292 /* 280 /*
@@ -298,14 +286,8 @@ static int atmel_config(struct pcmcia_device *link)
298 if (ret) 286 if (ret)
299 goto failed; 287 goto failed;
300 288
301 if (link->irq.AssignedIRQ == 0) {
302 printk(KERN_ALERT
303 "atmel: cannot assign IRQ: check that CONFIG_ISA is set in kernel config.");
304 goto failed;
305 }
306
307 ((local_info_t*)link->priv)->eth_dev = 289 ((local_info_t*)link->priv)->eth_dev =
308 init_atmel_card(link->irq.AssignedIRQ, 290 init_atmel_card(link->irq,
309 link->io.BasePort1, 291 link->io.BasePort1,
310 did ? did->driver_info : ATMEL_FW_TYPE_NONE, 292 did ? did->driver_info : ATMEL_FW_TYPE_NONE,
311 &link->dev, 293 &link->dev,