diff options
author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2008-09-23 08:53:09 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-09-24 16:18:04 -0400 |
commit | 47cbb1107e4172f3632713d74dc8651a32ceb294 (patch) | |
tree | d631ca41ecc140e594c524f879ea5a7e7cb6e3cd | |
parent | 638af07386972861272ed9d0cff01cad528fdceb (diff) |
pcmcia: Fix up legacy driver IRQs
The PCMCIA layer obsoleted asking for per device private IRQS some years
ago and all the drivers by inspection correctly use dev_id and handle
shared interrupts [they get em anyway in most PCI bridged PCMCIA/Cardbus]
so can be adjusted.
This gets rid of the various bugs reported where there is spewage about
conflicting irq types and sometimes the driver won't load.
(Note I don't have all of these devices to test each one beyond by inspection)
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/airo_cs.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/atmel_cs.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/netwave_cs.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/orinoco_cs.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ray_cs.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/spectrum_cs.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/wavelan_cs.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/wl3501_cs.c | 2 |
8 files changed, 8 insertions, 8 deletions
diff --git a/drivers/net/wireless/airo_cs.c b/drivers/net/wireless/airo_cs.c index f12355398fe7..fd72e427cb28 100644 --- a/drivers/net/wireless/airo_cs.c +++ b/drivers/net/wireless/airo_cs.c | |||
@@ -147,7 +147,7 @@ static int airo_probe(struct pcmcia_device *p_dev) | |||
147 | DEBUG(0, "airo_attach()\n"); | 147 | DEBUG(0, "airo_attach()\n"); |
148 | 148 | ||
149 | /* Interrupt setup */ | 149 | /* Interrupt setup */ |
150 | p_dev->irq.Attributes = IRQ_TYPE_EXCLUSIVE; | 150 | p_dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING; |
151 | p_dev->irq.IRQInfo1 = IRQ_LEVEL_ID; | 151 | p_dev->irq.IRQInfo1 = IRQ_LEVEL_ID; |
152 | p_dev->irq.Handler = NULL; | 152 | p_dev->irq.Handler = NULL; |
153 | 153 | ||
diff --git a/drivers/net/wireless/atmel_cs.c b/drivers/net/wireless/atmel_cs.c index 12617cd0b78e..d2388e8d179a 100644 --- a/drivers/net/wireless/atmel_cs.c +++ b/drivers/net/wireless/atmel_cs.c | |||
@@ -158,7 +158,7 @@ static int atmel_probe(struct pcmcia_device *p_dev) | |||
158 | DEBUG(0, "atmel_attach()\n"); | 158 | DEBUG(0, "atmel_attach()\n"); |
159 | 159 | ||
160 | /* Interrupt setup */ | 160 | /* Interrupt setup */ |
161 | p_dev->irq.Attributes = IRQ_TYPE_EXCLUSIVE; | 161 | p_dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING; |
162 | p_dev->irq.IRQInfo1 = IRQ_LEVEL_ID; | 162 | p_dev->irq.IRQInfo1 = IRQ_LEVEL_ID; |
163 | p_dev->irq.Handler = NULL; | 163 | p_dev->irq.Handler = NULL; |
164 | 164 | ||
diff --git a/drivers/net/wireless/netwave_cs.c b/drivers/net/wireless/netwave_cs.c index f479c1af6782..25bae7933aa5 100644 --- a/drivers/net/wireless/netwave_cs.c +++ b/drivers/net/wireless/netwave_cs.c | |||
@@ -398,7 +398,7 @@ static int netwave_probe(struct pcmcia_device *link) | |||
398 | link->io.IOAddrLines = 5; | 398 | link->io.IOAddrLines = 5; |
399 | 399 | ||
400 | /* Interrupt setup */ | 400 | /* Interrupt setup */ |
401 | link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT; | 401 | link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_HANDLE_PRESENT; |
402 | link->irq.IRQInfo1 = IRQ_LEVEL_ID; | 402 | link->irq.IRQInfo1 = IRQ_LEVEL_ID; |
403 | link->irq.Handler = &netwave_interrupt; | 403 | link->irq.Handler = &netwave_interrupt; |
404 | 404 | ||
diff --git a/drivers/net/wireless/orinoco_cs.c b/drivers/net/wireless/orinoco_cs.c index 1ccf5a40cf06..9eaa252c2430 100644 --- a/drivers/net/wireless/orinoco_cs.c +++ b/drivers/net/wireless/orinoco_cs.c | |||
@@ -121,7 +121,7 @@ orinoco_cs_probe(struct pcmcia_device *link) | |||
121 | link->priv = dev; | 121 | link->priv = dev; |
122 | 122 | ||
123 | /* Interrupt setup */ | 123 | /* Interrupt setup */ |
124 | link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT; | 124 | link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_HANDLE_PRESENT; |
125 | link->irq.IRQInfo1 = IRQ_LEVEL_ID; | 125 | link->irq.IRQInfo1 = IRQ_LEVEL_ID; |
126 | link->irq.Handler = orinoco_interrupt; | 126 | link->irq.Handler = orinoco_interrupt; |
127 | link->irq.Instance = dev; | 127 | link->irq.Instance = dev; |
diff --git a/drivers/net/wireless/ray_cs.c b/drivers/net/wireless/ray_cs.c index 963960dc30f2..44da0d19b5c8 100644 --- a/drivers/net/wireless/ray_cs.c +++ b/drivers/net/wireless/ray_cs.c | |||
@@ -325,7 +325,7 @@ static int ray_probe(struct pcmcia_device *p_dev) | |||
325 | p_dev->io.IOAddrLines = 5; | 325 | p_dev->io.IOAddrLines = 5; |
326 | 326 | ||
327 | /* Interrupt setup. For PCMCIA, driver takes what's given */ | 327 | /* Interrupt setup. For PCMCIA, driver takes what's given */ |
328 | p_dev->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT; | 328 | p_dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_HANDLE_PRESENT; |
329 | p_dev->irq.IRQInfo1 = IRQ_LEVEL_ID; | 329 | p_dev->irq.IRQInfo1 = IRQ_LEVEL_ID; |
330 | p_dev->irq.Handler = &ray_interrupt; | 330 | p_dev->irq.Handler = &ray_interrupt; |
331 | 331 | ||
diff --git a/drivers/net/wireless/spectrum_cs.c b/drivers/net/wireless/spectrum_cs.c index e368759d1d89..67b26d3c3cd5 100644 --- a/drivers/net/wireless/spectrum_cs.c +++ b/drivers/net/wireless/spectrum_cs.c | |||
@@ -195,7 +195,7 @@ spectrum_cs_probe(struct pcmcia_device *link) | |||
195 | link->priv = dev; | 195 | link->priv = dev; |
196 | 196 | ||
197 | /* Interrupt setup */ | 197 | /* Interrupt setup */ |
198 | link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT; | 198 | link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_HANDLE_PRESENT; |
199 | link->irq.IRQInfo1 = IRQ_LEVEL_ID; | 199 | link->irq.IRQInfo1 = IRQ_LEVEL_ID; |
200 | link->irq.Handler = orinoco_interrupt; | 200 | link->irq.Handler = orinoco_interrupt; |
201 | link->irq.Instance = dev; | 201 | link->irq.Instance = dev; |
diff --git a/drivers/net/wireless/wavelan_cs.c b/drivers/net/wireless/wavelan_cs.c index 00a3559e5aa4..b5de38a9b791 100644 --- a/drivers/net/wireless/wavelan_cs.c +++ b/drivers/net/wireless/wavelan_cs.c | |||
@@ -4496,7 +4496,7 @@ wavelan_probe(struct pcmcia_device *p_dev) | |||
4496 | p_dev->io.IOAddrLines = 3; | 4496 | p_dev->io.IOAddrLines = 3; |
4497 | 4497 | ||
4498 | /* Interrupt setup */ | 4498 | /* Interrupt setup */ |
4499 | p_dev->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT; | 4499 | p_dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_HANDLE_PRESENT; |
4500 | p_dev->irq.IRQInfo1 = IRQ_LEVEL_ID; | 4500 | p_dev->irq.IRQInfo1 = IRQ_LEVEL_ID; |
4501 | p_dev->irq.Handler = wavelan_interrupt; | 4501 | p_dev->irq.Handler = wavelan_interrupt; |
4502 | 4502 | ||
diff --git a/drivers/net/wireless/wl3501_cs.c b/drivers/net/wireless/wl3501_cs.c index b6d4e04b8ab4..74a5ad2f1223 100644 --- a/drivers/net/wireless/wl3501_cs.c +++ b/drivers/net/wireless/wl3501_cs.c | |||
@@ -1917,7 +1917,7 @@ static int wl3501_probe(struct pcmcia_device *p_dev) | |||
1917 | p_dev->io.IOAddrLines = 5; | 1917 | p_dev->io.IOAddrLines = 5; |
1918 | 1918 | ||
1919 | /* Interrupt setup */ | 1919 | /* Interrupt setup */ |
1920 | p_dev->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT; | 1920 | p_dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_HANDLE_PRESENT; |
1921 | p_dev->irq.IRQInfo1 = IRQ_LEVEL_ID; | 1921 | p_dev->irq.IRQInfo1 = IRQ_LEVEL_ID; |
1922 | p_dev->irq.Handler = wl3501_interrupt; | 1922 | p_dev->irq.Handler = wl3501_interrupt; |
1923 | 1923 | ||