diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-08-18 12:30:42 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-08-18 12:30:42 -0700 |
commit | 307797159ac25fe5a2048bf5c6a5718298edca57 (patch) | |
tree | cc45222a2de182292a65f6f17a959d3c3a4d4ec1 | |
parent | 771c035372a036f83353eef46dbb829780330234 (diff) | |
download | op-kernel-dev-307797159ac25fe5a2048bf5c6a5718298edca57.zip op-kernel-dev-307797159ac25fe5a2048bf5c6a5718298edca57.tar.gz |
pcmcia: remove long deprecated pcmcia_request_exclusive_irq() function
This function was created as a deprecated fallback case back in 2010 by
commit eb14120f743d ("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 commit
5f5316fcd08e ("am2150: Update nmclan_cs.c to use update PCMCIA API").
Just remove it entirely.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | Documentation/pcmcia/driver-changes.txt | 3 | ||||
-rw-r--r-- | drivers/pcmcia/pcmcia_resource.c | 36 | ||||
-rw-r--r-- | include/pcmcia/ds.h | 10 |
3 files changed, 0 insertions, 49 deletions
diff --git a/Documentation/pcmcia/driver-changes.txt b/Documentation/pcmcia/driver-changes.txt index dd04361..78355c4 100644 --- a/Documentation/pcmcia/driver-changes.txt +++ b/Documentation/pcmcia/driver-changes.txt @@ -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 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. * 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 diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c index 34aad895..1880209 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 */ diff --git a/include/pcmcia/ds.h b/include/pcmcia/ds.h index 2d56e42..3037157 100644 --- a/include/pcmcia/ds.h +++ b/include/pcmcia/ds.h @@ -206,16 +206,6 @@ int pcmcia_write_config_byte(struct pcmcia_device *p_dev, off_t where, u8 val); /* device configuration */ 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, irq_handler_t handler); |