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