[PATCH v3 2/5(7)] OMAP1: Amstrad Delta: add a handler for processing interrupts generated by the FIQ routine
Tony Lindgren
tony at atomide.com
Mon Apr 26 14:17:08 EDT 2010
* Janusz Krzysztofik <jkrzyszt at tis.icnet.pl> [100422 18:20]:
> 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.
OK
> > 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?
Just please check that compile works OK if you compile in other omap1 boards.
Tony
More information about the linux-arm-kernel
mailing list