aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mfd/abx500/ab8500.h
diff options
context:
space:
mode:
authorLee Jones <lee.jones@linaro.org>2012-06-20 13:56:37 +0100
committerSamuel Ortiz <sameo@linux.intel.com>2012-07-09 00:16:08 +0200
commit06e589efa5b75e6a38a8e8b9c6cd774b5f679cdc (patch)
tree01845abcf4b91b726c9f8919f7186997c04f7dc9 /include/linux/mfd/abx500/ab8500.h
parentmfd: Enable DT probing of the DB8500 PRCMU (diff)
downloadlinux-dev-06e589efa5b75e6a38a8e8b9c6cd774b5f679cdc.tar.xz
linux-dev-06e589efa5b75e6a38a8e8b9c6cd774b5f679cdc.zip
mfd: Add IRQ domain support for the AB8500
As the AB8500 is an IRQ controller in its own right, here we provide the AB8500 driver with IRQ domain support. This is required if we wish to reference any of its IRQs from a platform's Device Tree. Cc: Naga Radheshy <naga.radheshy@stericsson.com> Cc: Mattias Wallin <mattias.wallin@stericsson.com> Cc: Daniel Willerud <daniel.willerud@stericsson.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'include/linux/mfd/abx500/ab8500.h')
-rw-r--r--include/linux/mfd/abx500/ab8500.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/mfd/abx500/ab8500.h b/include/linux/mfd/abx500/ab8500.h
index 91dd3ef63e99..4ae2cd9584fb 100644
--- a/include/linux/mfd/abx500/ab8500.h
+++ b/include/linux/mfd/abx500/ab8500.h
@@ -9,6 +9,7 @@
#include <linux/atomic.h>
#include <linux/mutex.h>
+#include <linux/irqdomain.h>
struct device;
@@ -227,6 +228,7 @@ enum ab8500_version {
* @irq_lock: genirq bus lock
* @transfer_ongoing: 0 if no transfer ongoing
* @irq: irq line
+ * @irq_domain: irq domain
* @version: chip version id (e.g. ab8500 or ab9540)
* @chip_id: chip revision id
* @write: register write
@@ -247,6 +249,7 @@ struct ab8500 {
atomic_t transfer_ongoing;
int irq_base;
int irq;
+ struct irq_domain *domain;
enum ab8500_version version;
u8 chip_id;
@@ -336,4 +339,6 @@ static inline int is_ab8500_2p0(struct ab8500 *ab)
return (is_ab8500(ab) && (ab->chip_id == AB8500_CUT2P0));
}
+int ab8500_irq_get_virq(struct ab8500 *ab8500, int irq);
+
#endif /* MFD_AB8500_H */