@@ -93,6 +93,13 @@ void __cpuinit init_secondary_IRQ(void)
BUG_ON(init_local_irq_data() < 0);
}
+int __init request_dt_irq(const struct dt_irq *irq,
+ void (*handler)(int, void *, struct cpu_user_regs *),
+ unsigned long irqflags, const char *devname, void *dev_id)
+{
+ return request_irq(irq->irq, handler, irqflags, devname, dev_id);
+}
+
int __init request_irq(unsigned int irq,
void (*handler)(int, void *, struct cpu_user_regs *),
unsigned long irqflags, const char * devname, void *dev_id)
@@ -39,6 +39,10 @@ void do_IRQ(struct cpu_user_regs *regs, unsigned int irq, int is_fiq);
void init_IRQ(void);
void init_secondary_IRQ(void);
+int __init request_dt_irq(const struct dt_irq *irq,
+ void (*handler)(int, void *, struct cpu_user_regs *),
+ unsigned long irqflags, const char *devname,
+ void *dev_id);
int __init setup_dt_irq(const struct dt_irq *irq, struct irqaction *new);
#endif /* _ASM_HW_IRQ_H */
This function will replace request_irq in a later patch. It takes a dt_irq as first argument instead of an unsigned int. Signed-off-by: Julien Grall <julien.grall@linaro.org> --- xen/arch/arm/irq.c | 7 +++++++ xen/include/asm-arm/irq.h | 4 ++++ 2 files changed, 11 insertions(+)