[PATCH v3 2/5(7)] OMAP1: Amstrad Delta: add a handler for processing interrupts generated by the FIQ routine
Janusz Krzysztofik
jkrzyszt at tis.icnet.pl
Thu Apr 22 21:21:05 EDT 2010
Friday 23 April 2010 01:17:26 Tony Lindgren napisał(a):
> * Janusz Krzysztofik <jkrzyszt at tis.icnet.pl> [100414 19:24]:
> > This patch introduces an IRQ handler used for processing interrupts
> > generated by the FIQ handler when it decides there are data ready for
> > processing.
> >
> > The handler further invokes device specific interrupt routines based on
> > an interrupt source as passed from the FIQ handler.
> >
> > It can be registered by the board as a handler for the otherwise unused
> > 32k timer interrupt.
> >
> > Created and tested against linux-2.6.34-rc4.
> > Applies on top of PATCH v3 1/5(7), "OMAP1: Amstrad Delta: add FIQ handler
> > for serial keyboard port interrupt processing".
> >
> > Signed-off-by: Janusz Krzysztofik <jkrzyszt at tis.icnet.pl>
> > ---
> > v2 changes:
> > - add fiq_buffer[] declaration missing from the header file,
> > - refresh against 2.6.34-rc2.
> > v3 changes:
> > - follow Dmitry's serio cleanup suggestions here as well,
> > - follow default OMAP GPIO interrupt processing path more closely,
> > - more optimizations and cleanups.
> >
> > arch/arm/mach-omap1/Makefile | 2
> > arch/arm/mach-omap1/ams-delta-fiq.c | 155 +++++++++++++++++++++++
> > arch/arm/mach-omap1/include/mach/ams-delta-fiq.h | 7 +
> > 3 files changed, 163 insertions(+), 1 deletion(-)
> >
> > diff -uprN git.orig/arch/arm/mach-omap1/Makefile git/arch/arm/mach-omap1/Makefile
> > --- git.orig/arch/arm/mach-omap1/Makefile 2010-04-14 22:35:22.000000000 +0200
> > +++ git/arch/arm/mach-omap1/Makefile 2010-04-14 23:18:10.000000000 +0200
> > @@ -37,7 +37,7 @@ obj-$(CONFIG_MACH_OMAP_PALMZ71) += boar
> > obj-$(CONFIG_MACH_OMAP_PALMTT) += board-palmtt.o
> > obj-$(CONFIG_MACH_NOKIA770) += board-nokia770.o
> > obj-$(CONFIG_MACH_AMS_DELTA) += board-ams-delta.o
> > -obj-$(CONFIG_AMS_DELTA_FIQ) += ams-delta-fiq-handler.o
> > +obj-$(CONFIG_AMS_DELTA_FIQ) += ams-delta-fiq.o ams-delta-fiq-handler.o
> > obj-$(CONFIG_MACH_SX1) += board-sx1.o board-sx1-mmc.o
> > obj-$(CONFIG_MACH_HERALD) += board-htcherald.o
>
> Do you really need a separate option for CONFIG_AMS_DELTA_FIQ?
Not really, but could we keep it for now, until the code gets a bit matured?
> To me it seems you can just compile it in when CONFIG_MACH_AMS_DELTA
> is selected.
If you agree, I will change it this way with a followup patch prepared for the
next + 1 kernel release.
> Also, please make sure the FIQ only gets initialized for the right
> board when multiple boards are compiled in.
I believe it works this way. The ams_delta_init_fiq() routine, that sets up
both FIQ and IRQ handlers, is invoked from the machines' init_machine()
callback. Can I assume it won't be called for other machine types then?
Thanks,
Janusz
More information about the linux-arm-kernel
mailing list