Hi Tero, On Fri, Sep 16, 2011 at 9:35 PM, Tero Kristo <t-kristo@xxxxxx> wrote: > Introduce a chained interrupt handler mechanism for the PRCM > interrupt, so that individual PRCM event can cleanly be handled by > handlers in separate drivers. We do this by introducing PRCM event > names, which are then matched to the particular PRCM interrupt bit > depending on the specific OMAP SoC being used. > > Driver detects the version of the PRM module in use via PRM hwmod > revision. This hwmod also defines the interrupt number for the chain > handler. Driver itself contains SoC specific data for register offsets > within the PRM module, and contains a list of supported PRCM interrupt > events. > > PRCM interrupts have two priority levels, high or normal. High priority > is needed for IO event handling, so that we can be sure that IO events > are processed before other events. This reduces latency for IO event > customers and also prevents incorrect ack sequence on OMAP3. > > Signed-off-by: Tero Kristo <t-kristo@xxxxxx> > Cc: Paul Walmsley <paul@xxxxxxxxx> > Cc: Kevin Hilman <khilman@xxxxxx> > Cc: Avinash.H.M <avinashhm@xxxxxx> > Cc: Cousson, Benoit <b-cousson@xxxxxx> > Cc: Tony Lindgren <tony@xxxxxxxxxxx> > Cc: Govindraj.R <govindraj.raja@xxxxxx> > --- > drivers/power/omap_prm.c | 351 +++++++++++++++++++++++++++++++++++++++- > include/linux/power/omap_prm.h | 19 +++ > 2 files changed, 368 insertions(+), 2 deletions(-) > create mode 100644 include/linux/power/omap_prm.h > [..] > diff --git a/include/linux/power/omap_prm.h b/include/linux/power/omap_prm.h > new file mode 100644 > index 0000000..9b161b5 > --- /dev/null > +++ b/include/linux/power/omap_prm.h > @@ -0,0 +1,19 @@ > +/* > + * OMAP Power and Reset Management (PRM) driver > + * > + * Copyright (C) 2011 Texas Instruments, Inc. > + * > + * Author: Tero Kristo <t-kristo@xxxxxx> > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + */ > + > +#ifndef __LINUX_POWER_OMAP_PRM_H__ > +#define __LINUX_POWER_OMAP_PRM_H__ > + > +int omap_prcm_event_to_irq(const char *name); Minor comment, When omap_prm driver is not enabled by default leads to compilation break as in [1] So we should either have omap_prm driver default enabled from Kconfig or Have dummy omap_prcm_event_to_irq func if omap_prm is not defined. -- Thanks, Govindraj.R [1]: arch/arm/mach-omap2/built-in.o: In function `omap_mux_late_init': /home/ubnuser/clones/mirror/linux-omap-pm/arch/arm/mach-omap2/mux.c:799: undefined reference to `omap_prcm_event_to_irq' arch/arm/mach-omap2/built-in.o: In function `omap3_pm_init': /home/ubnuser/clones/mirror/linux-omap-pm/arch/arm/mach-omap2/pm34xx.c:817: undefined reference to `omap_prcm_event_to_irq' /home/ubnuser/clones/mirror/linux-omap-pm/arch/arm/mach-omap2/pm34xx.c:826: undefined reference to `omap_prcm_event_to_irq' make: *** [.tmp_vmlinux1] Error 1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html