summaryrefslogtreecommitdiffstats
path: root/include/linux/irqchip
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2013-11-21 23:11:29 +0100
committerLinus Walleij <linus.walleij@linaro.org>2014-02-13 11:21:21 +0100
commite641b987c20832dfaaa51d7792ed928c2b2d2dbf (patch)
tree1831772b115d772d3fd63ab53858866bc8b8f911 /include/linux/irqchip
parent3b4df9dbd9bf27a35d5c7d36684d245518e5a939 (diff)
downloadlinux-e641b987c20832dfaaa51d7792ed928c2b2d2dbf.tar.gz
linux-e641b987c20832dfaaa51d7792ed928c2b2d2dbf.tar.bz2
linux-e641b987c20832dfaaa51d7792ed928c2b2d2dbf.zip
irqchip: support cascaded VICs
This adds support for a VIC to be cascaded off another IRQ. On the Integrator/AP logical module IM-PD1 there is a VIC cascaded off the central FPGA IRQ controller so this is needed for that to work out. In order for the plug-in board to be able to register all the devices with their IRQs relative to the offset of the base obtained for the cascaded VIC, the base IRQ number is passed back to the caller. Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'include/linux/irqchip')
-rw-r--r--include/linux/irqchip/arm-vic.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/irqchip/arm-vic.h b/include/linux/irqchip/arm-vic.h
index e3c82dc95756..ba46c794b4e5 100644
--- a/include/linux/irqchip/arm-vic.h
+++ b/include/linux/irqchip/arm-vic.h
@@ -29,8 +29,10 @@
struct device_node;
struct pt_regs;
-void __vic_init(void __iomem *base, int irq_start, u32 vic_sources,
- u32 resume_sources, struct device_node *node);
+void __vic_init(void __iomem *base, int parent_irq, int irq_start,
+ u32 vic_sources, u32 resume_sources, struct device_node *node);
void vic_init(void __iomem *base, unsigned int irq_start, u32 vic_sources, u32 resume_sources);
+int vic_init_cascaded(void __iomem *base, unsigned int parent_irq,
+ u32 vic_sources, u32 resume_sources);
#endif