diff options
Diffstat (limited to 'include/linux/irq.h')
-rw-r--r-- | include/linux/irq.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h index 4536286cc4d2..b01d06db9101 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
@@ -1114,6 +1114,28 @@ static inline u32 irq_reg_readl(struct irq_chip_generic *gc, | |||
1114 | return readl(gc->reg_base + reg_offset); | 1114 | return readl(gc->reg_base + reg_offset); |
1115 | } | 1115 | } |
1116 | 1116 | ||
1117 | struct irq_matrix; | ||
1118 | struct irq_matrix *irq_alloc_matrix(unsigned int matrix_bits, | ||
1119 | unsigned int alloc_start, | ||
1120 | unsigned int alloc_end); | ||
1121 | void irq_matrix_online(struct irq_matrix *m); | ||
1122 | void irq_matrix_offline(struct irq_matrix *m); | ||
1123 | void irq_matrix_assign_system(struct irq_matrix *m, unsigned int bit, bool replace); | ||
1124 | int irq_matrix_reserve_managed(struct irq_matrix *m, const struct cpumask *msk); | ||
1125 | void irq_matrix_remove_managed(struct irq_matrix *m, const struct cpumask *msk); | ||
1126 | int irq_matrix_alloc_managed(struct irq_matrix *m, unsigned int cpu); | ||
1127 | void irq_matrix_reserve(struct irq_matrix *m); | ||
1128 | void irq_matrix_remove_reserved(struct irq_matrix *m); | ||
1129 | int irq_matrix_alloc(struct irq_matrix *m, const struct cpumask *msk, | ||
1130 | bool reserved, unsigned int *mapped_cpu); | ||
1131 | void irq_matrix_free(struct irq_matrix *m, unsigned int cpu, | ||
1132 | unsigned int bit, bool managed); | ||
1133 | void irq_matrix_assign(struct irq_matrix *m, unsigned int bit); | ||
1134 | unsigned int irq_matrix_available(struct irq_matrix *m, bool cpudown); | ||
1135 | unsigned int irq_matrix_allocated(struct irq_matrix *m); | ||
1136 | unsigned int irq_matrix_reserved(struct irq_matrix *m); | ||
1137 | void irq_matrix_debug_show(struct seq_file *sf, struct irq_matrix *m, int ind); | ||
1138 | |||
1117 | /* Contrary to Linux irqs, for hardware irqs the irq number 0 is valid */ | 1139 | /* Contrary to Linux irqs, for hardware irqs the irq number 0 is valid */ |
1118 | #define INVALID_HWIRQ (~0UL) | 1140 | #define INVALID_HWIRQ (~0UL) |
1119 | irq_hw_number_t ipi_get_hwirq(unsigned int irq, unsigned int cpu); | 1141 | irq_hw_number_t ipi_get_hwirq(unsigned int irq, unsigned int cpu); |