summaryrefslogtreecommitdiffstats
path: root/include/linux/irq.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/irq.h')
-rw-r--r--include/linux/irq.h22
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
1117struct irq_matrix;
1118struct irq_matrix *irq_alloc_matrix(unsigned int matrix_bits,
1119 unsigned int alloc_start,
1120 unsigned int alloc_end);
1121void irq_matrix_online(struct irq_matrix *m);
1122void irq_matrix_offline(struct irq_matrix *m);
1123void irq_matrix_assign_system(struct irq_matrix *m, unsigned int bit, bool replace);
1124int irq_matrix_reserve_managed(struct irq_matrix *m, const struct cpumask *msk);
1125void irq_matrix_remove_managed(struct irq_matrix *m, const struct cpumask *msk);
1126int irq_matrix_alloc_managed(struct irq_matrix *m, unsigned int cpu);
1127void irq_matrix_reserve(struct irq_matrix *m);
1128void irq_matrix_remove_reserved(struct irq_matrix *m);
1129int irq_matrix_alloc(struct irq_matrix *m, const struct cpumask *msk,
1130 bool reserved, unsigned int *mapped_cpu);
1131void irq_matrix_free(struct irq_matrix *m, unsigned int cpu,
1132 unsigned int bit, bool managed);
1133void irq_matrix_assign(struct irq_matrix *m, unsigned int bit);
1134unsigned int irq_matrix_available(struct irq_matrix *m, bool cpudown);
1135unsigned int irq_matrix_allocated(struct irq_matrix *m);
1136unsigned int irq_matrix_reserved(struct irq_matrix *m);
1137void 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)
1119irq_hw_number_t ipi_get_hwirq(unsigned int irq, unsigned int cpu); 1141irq_hw_number_t ipi_get_hwirq(unsigned int irq, unsigned int cpu);