summaryrefslogtreecommitdiff
path: root/drivers/sh/intc/internals.h
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2012-08-01 12:13:46 +0400
committerPaul Mundt <lethal@linux-sh.org>2012-08-01 12:13:46 +0400
commit1d6a21b0a672fb29b01ccf397d478e0541e17716 (patch)
treecc4527286de39a1b70e0af1de16f8a664bea0118 /drivers/sh/intc/internals.h
parent2d534926205db9ffce4bbbde67cb9b2cee4b835c (diff)
downloadlinux-1d6a21b0a672fb29b01ccf397d478e0541e17716.tar.xz
sh: intc: initial irqdomain support.
Trivial support for irq domains, using either a linear map or radix tree depending on the vector layout. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers/sh/intc/internals.h')
-rw-r--r--drivers/sh/intc/internals.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/sh/intc/internals.h b/drivers/sh/intc/internals.h
index f034a979a16f..7dff08e2a071 100644
--- a/drivers/sh/intc/internals.h
+++ b/drivers/sh/intc/internals.h
@@ -1,5 +1,6 @@
#include <linux/sh_intc.h>
#include <linux/irq.h>
+#include <linux/irqdomain.h>
#include <linux/list.h>
#include <linux/kernel.h>
#include <linux/types.h>
@@ -66,6 +67,7 @@ struct intc_desc_int {
unsigned int nr_sense;
struct intc_window *window;
unsigned int nr_windows;
+ struct irq_domain *domain;
struct irq_chip chip;
bool skip_suspend;
};
@@ -187,6 +189,9 @@ unsigned long intc_get_ack_handle(unsigned int irq);
void intc_enable_disable_enum(struct intc_desc *desc, struct intc_desc_int *d,
intc_enum enum_id, int enable);
+/* irqdomain.c */
+void intc_irq_domain_init(struct intc_desc_int *d, struct intc_hw_desc *hw);
+
/* virq.c */
void intc_subgroup_init(struct intc_desc *desc, struct intc_desc_int *d);
void intc_irq_xlate_set(unsigned int irq, intc_enum id, struct intc_desc_int *d);