diff options
author | Alan Cox <alan@redhat.com> | 2008-10-05 17:35:41 +0100 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2008-10-17 23:07:10 +0200 |
commit | aafcf998c333a2a29e12093437eef32a60a8018d (patch) | |
tree | 585dd11b346ddf47c3ddf562d8754b20f62403cc /drivers/bluetooth/bt3c_cs.c | |
parent | 26e9a397774a0e94efbb8a0bf4a952c28d808cab (diff) | |
download | linux-aafcf998c333a2a29e12093437eef32a60a8018d.tar.bz2 |
pcmcia: IRQ_TYPE_EXCLUSIVE is long obsoleted
Switch more drivers to dynamic sharing after checking their IRQ handlers
use dev_id and are robust
Signed-off-by: Alan Cox <alan@redhat.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/bluetooth/bt3c_cs.c')
-rw-r--r-- | drivers/bluetooth/bt3c_cs.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/bluetooth/bt3c_cs.c b/drivers/bluetooth/bt3c_cs.c index 2cbe70b66470..b3e4d07a4ac2 100644 --- a/drivers/bluetooth/bt3c_cs.c +++ b/drivers/bluetooth/bt3c_cs.c @@ -343,6 +343,7 @@ static irqreturn_t bt3c_interrupt(int irq, void *dev_inst) bt3c_info_t *info = dev_inst; unsigned int iobase; int iir; + irqreturn_t r = IRQ_NONE; BUG_ON(!info->hdev); @@ -374,11 +375,12 @@ static irqreturn_t bt3c_interrupt(int irq, void *dev_inst) outb(iir, iobase + CONTROL); } + r = IRQ_HANDLED; } spin_unlock(&(info->lock)); - return IRQ_HANDLED; + return r; } @@ -657,7 +659,7 @@ static int bt3c_probe(struct pcmcia_device *link) link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; link->io.NumPorts1 = 8; - link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT; + link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_HANDLE_PRESENT; link->irq.IRQInfo1 = IRQ_LEVEL_ID; link->irq.Handler = bt3c_interrupt; |