pcmcia: remove long deprecated pcmcia_request_exclusive_irq() function
This function was created as a deprecated fallback case back in 2010 by commiteb14120f74
("pcmcia: re-work pcmcia_request_irq()") for legacy cases. Actual in-kernel users haven't been around for a long while. The last in-kernel user was apparently removed four years ago by commit5f5316fcd0
("am2150: Update nmclan_cs.c to use update PCMCIA API"). Just remove it entirely. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
771c035372
Коммит
307797159a
|
@ -46,9 +46,6 @@ This file details changes in 2.6 which affect PCMCIA card driver authors:
|
||||||
- use pcmcia_request_irq(p_dev, handler_t); the PCMCIA core will
|
- use pcmcia_request_irq(p_dev, handler_t); the PCMCIA core will
|
||||||
clean up automatically on calls to pcmcia_disable_device() or
|
clean up automatically on calls to pcmcia_disable_device() or
|
||||||
device ejection.
|
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.
|
|
||||||
|
|
||||||
* no cs_error / CS_CHECK / CONFIG_PCMCIA_DEBUG (as of 2.6.33)
|
* no cs_error / CS_CHECK / CONFIG_PCMCIA_DEBUG (as of 2.6.33)
|
||||||
Instead of the cs_error() callback or the CS_CHECK() macro, please use
|
Instead of the cs_error() callback or the CS_CHECK() macro, please use
|
||||||
|
|
|
@ -712,42 +712,6 @@ int __must_check pcmcia_request_irq(struct pcmcia_device *p_dev,
|
||||||
EXPORT_SYMBOL(pcmcia_request_irq);
|
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
|
#ifdef CONFIG_PCMCIA_PROBE
|
||||||
|
|
||||||
/* mask of IRQs already reserved by other cards, we should avoid using them */
|
/* mask of IRQs already reserved by other cards, we should avoid using them */
|
||||||
|
|
|
@ -206,16 +206,6 @@ int pcmcia_write_config_byte(struct pcmcia_device *p_dev, off_t where, u8 val);
|
||||||
/* device configuration */
|
/* device configuration */
|
||||||
int pcmcia_request_io(struct pcmcia_device *p_dev);
|
int pcmcia_request_io(struct pcmcia_device *p_dev);
|
||||||
|
|
||||||
int __must_check
|
|
||||||
__pcmcia_request_exclusive_irq(struct pcmcia_device *p_dev,
|
|
||||||
irq_handler_t handler);
|
|
||||||
static inline __must_check __deprecated int
|
|
||||||
pcmcia_request_exclusive_irq(struct pcmcia_device *p_dev,
|
|
||||||
irq_handler_t handler)
|
|
||||||
{
|
|
||||||
return __pcmcia_request_exclusive_irq(p_dev, handler);
|
|
||||||
}
|
|
||||||
|
|
||||||
int __must_check pcmcia_request_irq(struct pcmcia_device *p_dev,
|
int __must_check pcmcia_request_irq(struct pcmcia_device *p_dev,
|
||||||
irq_handler_t handler);
|
irq_handler_t handler);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче