diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2017-04-07 16:01:17 +1000 |
---|---|---|
committer | Michael Neuling <mikey@neuling.org> | 2017-04-19 14:45:03 +1000 |
commit | 1d1a64a63a2be315f497d64e64467379863cbc4e (patch) | |
tree | e422807827f5134746c91897a0c3dd97b72517a3 /include | |
parent | 30adccf43dfb6b37c7d1635512b04366d95d5456 (diff) | |
download | skiboot-1d1a64a63a2be315f497d64e64467379863cbc4e.zip skiboot-1d1a64a63a2be315f497d64e64467379863cbc4e.tar.gz skiboot-1d1a64a63a2be315f497d64e64467379863cbc4e.tar.bz2 |
interrupts: Add an "irq_for_each_source" iterator
This will be used by subsequent XIVE reset improvements
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/interrupts.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/interrupts.h b/include/interrupts.h index 7576610..0376e8f 100644 --- a/include/interrupts.h +++ b/include/interrupts.h @@ -301,6 +301,12 @@ extern void register_irq_source(const struct irq_source_ops *ops, void *data, extern void unregister_irq_source(uint32_t start, uint32_t count); extern struct irq_source *irq_find_source(uint32_t isn); +/* Warning: callback is called with internal source lock held + * so don't call back into any of our irq_ APIs from it + */ +extern void irq_for_each_source(void (*cb)(struct irq_source *, void *), + void *data); + extern uint32_t get_psi_interrupt(uint32_t chip_id); extern struct dt_node *add_ics_node(void); |