diff options
author | Arjan van de Ven <arjan@linux.intel.com> | 2009-03-23 18:28:16 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-03-24 12:15:23 +0100 |
commit | 935bd5b971f0df7c06d214d022cf8392e2f37952 (patch) | |
tree | a9edfeaa4621ce83d0de84f2c7b2ca0f741ede98 /include | |
parent | 3aa551c9b4c40018f0e261a178e3d25478dc04a9 (diff) | |
download | op-kernel-dev-935bd5b971f0df7c06d214d022cf8392e2f37952.zip op-kernel-dev-935bd5b971f0df7c06d214d022cf8392e2f37952.tar.gz |
genirq: add support for threaded interrupts to devres
Some devices use devres_request_irq() for to install their interrupt
handler. Add support for threaded interrupts to devres as well.
[tglx - simplified and adapted to latest threadirq version]
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/interrupt.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 6fc2b72..dbf6a6f 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -123,9 +123,20 @@ extern void free_irq(unsigned int, void *); struct device; -extern int __must_check devm_request_irq(struct device *dev, unsigned int irq, - irq_handler_t handler, unsigned long irqflags, - const char *devname, void *dev_id); +extern int __must_check +devm_request_threaded_irq(struct device *dev, unsigned int irq, + irq_handler_t handler, irq_handler_t thread_fn, + unsigned long irqflags, const char *devname, + void *dev_id); + +static inline int __must_check +devm_request_irq(struct device *dev, unsigned int irq, irq_handler_t handler, + unsigned long irqflags, const char *devname, void *dev_id) +{ + return devm_request_threaded_irq(dev, irq, handler, NULL, irqflags, + devname, dev_id); +} + extern void devm_free_irq(struct device *dev, unsigned int irq, void *dev_id); /* |