[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