diff options
author | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-03-07 06:21:16 -0500 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-05-10 04:23:13 -0400 |
commit | eb14120f743d29744d9475bffec56ff4ad43a749 (patch) | |
tree | 56857094d2b0cfc0ecbd1685f18d6edbe78e140f /drivers/pcmcia/ds.c | |
parent | a7debe789dfcaee9c4d81e5738b0be8c5d93930b (diff) |
pcmcia: re-work pcmcia_request_irq()
Instead of the old pcmcia_request_irq() interface, drivers may now
choose between:
- calling request_irq/free_irq directly. Use the IRQ from *p_dev->irq.
- use pcmcia_request_irq(p_dev, handler_t); the PCMCIA core will
clean up automatically on calls to pcmcia_disable_device() or
device ejection.
- drivers still not capable of IRQF_SHARED (or not telling us so) may
use the deprecated pcmcia_request_exclusive_irq() for the time
being; they might receive a shared IRQ nonetheless.
CC: linux-bluetooth@vger.kernel.org
CC: netdev@vger.kernel.org
CC: linux-wireless@vger.kernel.org
CC: linux-serial@vger.kernel.org
CC: alsa-devel@alsa-project.org
CC: linux-usb@vger.kernel.org
CC: linux-ide@vger.kernel.org
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/pcmcia/ds.c')
-rw-r--r-- | drivers/pcmcia/ds.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index 5fd2948c7ed9..a2649c7b05bd 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers/pcmcia/ds.c | |||
@@ -546,7 +546,6 @@ struct pcmcia_device *pcmcia_device_add(struct pcmcia_socket *s, unsigned int fu | |||
546 | p_dev->function_config = tmp_dev->function_config; | 546 | p_dev->function_config = tmp_dev->function_config; |
547 | p_dev->io = tmp_dev->io; | 547 | p_dev->io = tmp_dev->io; |
548 | p_dev->irq = tmp_dev->irq; | 548 | p_dev->irq = tmp_dev->irq; |
549 | p_dev->irq_v = tmp_dev->irq_v; | ||
550 | kref_get(&p_dev->function_config->ref); | 549 | kref_get(&p_dev->function_config->ref); |
551 | } | 550 | } |
552 | 551 | ||
@@ -571,7 +570,7 @@ struct pcmcia_device *pcmcia_device_add(struct pcmcia_socket *s, unsigned int fu | |||
571 | 570 | ||
572 | dev_printk(KERN_NOTICE, &p_dev->dev, | 571 | dev_printk(KERN_NOTICE, &p_dev->dev, |
573 | "pcmcia: registering new device %s (IRQ: %d)\n", | 572 | "pcmcia: registering new device %s (IRQ: %d)\n", |
574 | p_dev->devname, p_dev->irq_v); | 573 | p_dev->devname, p_dev->irq); |
575 | 574 | ||
576 | pcmcia_device_query(p_dev); | 575 | pcmcia_device_query(p_dev); |
577 | 576 | ||