aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/include/asm/mach
diff options
context:
space:
mode:
authorCatalin Marinas <catalin.marinas@arm.com>2013-01-18 10:31:37 -0500
committerCatalin Marinas <catalin.marinas@arm.com>2013-03-26 12:11:43 -0400
commitde88cbb7b244f3bcd61d49fd6dec35c19192545a (patch)
tree790dff780e6bcdf2c9e71baa7beb92102ec99526 /arch/arm/include/asm/mach
parentf36a3bb1a1b73a60f4df1d4c38c686cc173f50b3 (diff)
arm: Move chained_irq_(enter|exit) to a generic file
These functions have been introduced by commit 10a8c383 (irq: introduce entry and exit functions for chained handlers) in asm/mach/irq.h. This patch moves them to linux/irqchip/chained_irq.h so that generic irqchip drivers do not rely on architecture specific header files. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Tested-by: Marc Zyngier <marc.zyngier@arm.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Rob Herring <rob.herring@calxeda.com>
Diffstat (limited to 'arch/arm/include/asm/mach')
-rw-r--r--arch/arm/include/asm/mach/irq.h31
1 files changed, 0 insertions, 31 deletions
diff --git a/arch/arm/include/asm/mach/irq.h b/arch/arm/include/asm/mach/irq.h
index 749d5052fbb7..2092ee1e1300 100644
--- a/arch/arm/include/asm/mach/irq.h
+++ b/arch/arm/include/asm/mach/irq.h
@@ -30,35 +30,4 @@ do { \
30 raw_spin_unlock(&desc->lock); \ 30 raw_spin_unlock(&desc->lock); \
31} while(0) 31} while(0)
32 32
33#ifndef __ASSEMBLY__
34/*
35 * Entry/exit functions for chained handlers where the primary IRQ chip
36 * may implement either fasteoi or level-trigger flow control.
37 */
38static inline void chained_irq_enter(struct irq_chip *chip,
39 struct irq_desc *desc)
40{
41 /* FastEOI controllers require no action on entry. */
42 if (chip->irq_eoi)
43 return;
44
45 if (chip->irq_mask_ack) {
46 chip->irq_mask_ack(&desc->irq_data);
47 } else {
48 chip->irq_mask(&desc->irq_data);
49 if (chip->irq_ack)
50 chip->irq_ack(&desc->irq_data);
51 }
52}
53
54static inline void chained_irq_exit(struct irq_chip *chip,
55 struct irq_desc *desc)
56{
57 if (chip->irq_eoi)
58 chip->irq_eoi(&desc->irq_data);
59 else
60 chip->irq_unmask(&desc->irq_data);
61}
62#endif
63
64#endif 33#endif