diff options
Diffstat (limited to 'include/linux/irqdomain.h')
-rw-r--r-- | include/linux/irqdomain.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index 0d5b17bf5e51..ba2c708adcff 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h | |||
@@ -66,6 +66,10 @@ struct irq_domain_ops { | |||
66 | unsigned long *out_hwirq, unsigned int *out_type); | 66 | unsigned long *out_hwirq, unsigned int *out_type); |
67 | }; | 67 | }; |
68 | 68 | ||
69 | extern struct irq_domain_ops irq_generic_chip_ops; | ||
70 | |||
71 | struct irq_domain_chip_generic; | ||
72 | |||
69 | /** | 73 | /** |
70 | * struct irq_domain - Hardware interrupt number translation object | 74 | * struct irq_domain - Hardware interrupt number translation object |
71 | * @link: Element in global irq_domain list. | 75 | * @link: Element in global irq_domain list. |
@@ -109,8 +113,16 @@ struct irq_domain { | |||
109 | 113 | ||
110 | /* Optional device node pointer */ | 114 | /* Optional device node pointer */ |
111 | struct device_node *of_node; | 115 | struct device_node *of_node; |
116 | /* Optional pointer to generic interrupt chips */ | ||
117 | struct irq_domain_chip_generic *gc; | ||
112 | }; | 118 | }; |
113 | 119 | ||
120 | #define IRQ_DOMAIN_MAP_LEGACY 0 /* driver allocated fixed range of irqs. | ||
121 | * ie. legacy 8259, gets irqs 1..15 */ | ||
122 | #define IRQ_DOMAIN_MAP_NOMAP 1 /* no fast reverse mapping */ | ||
123 | #define IRQ_DOMAIN_MAP_LINEAR 2 /* linear map of interrupts */ | ||
124 | #define IRQ_DOMAIN_MAP_TREE 3 /* radix tree */ | ||
125 | |||
114 | #ifdef CONFIG_IRQ_DOMAIN | 126 | #ifdef CONFIG_IRQ_DOMAIN |
115 | struct irq_domain *irq_domain_add_simple(struct device_node *of_node, | 127 | struct irq_domain *irq_domain_add_simple(struct device_node *of_node, |
116 | unsigned int size, | 128 | unsigned int size, |