diff options
Diffstat (limited to 'drivers/pcmcia/pcmcia_resource.c')
-rw-r--r-- | drivers/pcmcia/pcmcia_resource.c | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c index 34aad895a239..18802096148e 100644 --- a/drivers/pcmcia/pcmcia_resource.c +++ b/drivers/pcmcia/pcmcia_resource.c @@ -712,42 +712,6 @@ int __must_check pcmcia_request_irq(struct pcmcia_device *p_dev, EXPORT_SYMBOL(pcmcia_request_irq); -/** - * pcmcia_request_exclusive_irq() - attempt to request an exclusive IRQ first - * @p_dev: the associated PCMCIA device - * @handler: IRQ handler to register - * - * pcmcia_request_exclusive_irq() is a wrapper around request_irq() which - * attempts first to request an exclusive IRQ. If it fails, it also accepts - * a shared IRQ, but prints out a warning. PCMCIA drivers should allow for - * IRQ sharing and either use request_irq directly (then they need to call - * free_irq() themselves, too), or the pcmcia_request_irq() function. - */ -int __must_check -__pcmcia_request_exclusive_irq(struct pcmcia_device *p_dev, - irq_handler_t handler) -{ - int ret; - - if (!p_dev->irq) - return -EINVAL; - - ret = request_irq(p_dev->irq, handler, 0, p_dev->devname, p_dev->priv); - if (ret) { - ret = pcmcia_request_irq(p_dev, handler); - dev_warn(&p_dev->dev, "pcmcia: request for exclusive IRQ could not be fulfilled\n"); - dev_warn(&p_dev->dev, "pcmcia: the driver needs updating to supported shared IRQ lines\n"); - } - if (ret) - dev_info(&p_dev->dev, "request_irq() failed\n"); - else - p_dev->_irq = 1; - - return ret; -} /* pcmcia_request_exclusive_irq */ -EXPORT_SYMBOL(__pcmcia_request_exclusive_irq); - - #ifdef CONFIG_PCMCIA_PROBE /* mask of IRQs already reserved by other cards, we should avoid using them */ |