[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