aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-07-23 20:36:02 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-07-23 20:36:02 -0400
commit3645f0cd96fbf72c614673c5f4b1a8675f82a379 (patch)
tree84539c44e461eb9451cc0320dec70eedc9724796 /arch/arm/kernel
parentf1d2c07d331f717da79a42952be7dc1c0d35f846 (diff)
parentc7b0807b9d4faddd87a75a5acb079e5dbfedd211 (diff)
Merge tag 'irq' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull arm-soc sparse IRQ conversion from Arnd Bergmann: "The I.MX platform is getting converted to use sparse IRQs. We are doing this for all platforms over time, because this is one of the requirements for building a multiplatform kernel, and generally a good idea." * tag 'irq' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: imx: select USE_OF ARM: imx: Fix build error due to missing irqs.h include ARM: imx: enable SPARSE_IRQ for imx platform ARM: fiq: change FIQ_START to a variable tty: serial: imx: remove the use of MXC_INTERNAL_IRQS ARM: imx: remove unneeded mach/irq.h inclusion i2c: imx: remove unneeded mach/irqs.h inclusion ARM: imx: add a legacy irqdomain for mx31ads ARM: imx: add a legacy irqdomain for 3ds_debugboard ARM: imx: pass gpio than irq number into mxc_expio_init ARM: imx: leave irq_base of wm8350_platform_data uninitialized dma: ipu: remove the use of ipu_platform_data ARM: imx: move irq_domain_add_legacy call into avic driver ARM: imx: move irq_domain_add_legacy call into tzic driver gpio/mxc: move irq_domain_add_legacy call into gpio driver ARM: imx: eliminate macro IRQ_GPIOx() ARM: imx: eliminate macro IOMUX_TO_IRQ() ARM: imx: eliminate macro IMX_GPIO_TO_IRQ()
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r--arch/arm/kernel/fiq.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/arm/kernel/fiq.c b/arch/arm/kernel/fiq.c
index c32f8456aa09..2adda11f712f 100644
--- a/arch/arm/kernel/fiq.c
+++ b/arch/arm/kernel/fiq.c
@@ -122,14 +122,16 @@ void release_fiq(struct fiq_handler *f)
122 while (current_fiq->fiq_op(current_fiq->dev_id, 0)); 122 while (current_fiq->fiq_op(current_fiq->dev_id, 0));
123} 123}
124 124
125static int fiq_start;
126
125void enable_fiq(int fiq) 127void enable_fiq(int fiq)
126{ 128{
127 enable_irq(fiq + FIQ_START); 129 enable_irq(fiq + fiq_start);
128} 130}
129 131
130void disable_fiq(int fiq) 132void disable_fiq(int fiq)
131{ 133{
132 disable_irq(fiq + FIQ_START); 134 disable_irq(fiq + fiq_start);
133} 135}
134 136
135EXPORT_SYMBOL(set_fiq_handler); 137EXPORT_SYMBOL(set_fiq_handler);
@@ -140,7 +142,8 @@ EXPORT_SYMBOL(release_fiq);
140EXPORT_SYMBOL(enable_fiq); 142EXPORT_SYMBOL(enable_fiq);
141EXPORT_SYMBOL(disable_fiq); 143EXPORT_SYMBOL(disable_fiq);
142 144
143void __init init_FIQ(void) 145void __init init_FIQ(int start)
144{ 146{
145 no_fiq_insn = *(unsigned long *)0xffff001c; 147 no_fiq_insn = *(unsigned long *)0xffff001c;
148 fiq_start = start;
146} 149}