Thanks for the review, On Sat, Oct 1, 2011 at 8:03 PM, Rajendra Nayak <rnayak@xxxxxx> wrote: > On Friday 30 September 2011 04:31 PM, Govindraj.R wrote: >> >> Add API to determine IO-PAD wakeup event status for a given >> hwmod dynamic_mux pad. >> >> Wake up event set will be cleared on pad mux_read. > > Are these api's even getting used in this series? Used in Tero's irq_chaining patches. http://lkml.org/lkml/2011/9/23/121 -- Thanks, Govindraj.R > >> >> Signed-off-by: Govindraj.R<govindraj.raja@xxxxxx> >> --- >> arch/arm/mach-omap2/mux.c | 30 >> ++++++++++++++++++++++++++ >> arch/arm/mach-omap2/mux.h | 13 +++++++++++ >> arch/arm/mach-omap2/omap_hwmod.c | 7 ++++++ >> arch/arm/plat-omap/include/plat/omap_hwmod.h | 1 + >> 4 files changed, 51 insertions(+), 0 deletions(-) >> >> diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c >> index 655e948..fb75aae 100644 >> --- a/arch/arm/mach-omap2/mux.c >> +++ b/arch/arm/mach-omap2/mux.c >> @@ -351,6 +351,36 @@ err1: >> return NULL; >> } >> >> +/** >> + * omap_hwmod_mux_get_wake_status - omap hwmod check pad wakeup >> + * @hmux: Pads for a hwmod >> + * >> + * Gets the wakeup status of given pad from omap-hwmod. >> + * Returns true if wakeup capability is set and wakeup event occurred. >> + * Returns false if wakeup event has not occurred or pads are not >> available. >> + */ >> +bool omap_hwmod_mux_get_wake_status(struct omap_hwmod_mux_info *hmux) >> +{ >> + int i; >> + unsigned int val; >> + u8 ret = false; >> + >> + for (i = 0; i< hmux->nr_pads; i++) { >> + struct omap_device_pad *pad =&hmux->pads[i]; >> + >> + if (pad->flags& OMAP_DEVICE_PAD_WAKEUP) { >> + val = omap_mux_read(pad->partition, >> + pad->mux->reg_offset); >> + if (val& OMAP_WAKEUP_EVENT) { >> + ret = true; >> + break; >> + } >> + } >> + } >> + >> + return ret; >> +} >> + >> /* Assumes the calling function takes care of locking */ >> void omap_hwmod_mux(struct omap_hwmod_mux_info *hmux, u8 state) >> { >> diff --git a/arch/arm/mach-omap2/mux.h b/arch/arm/mach-omap2/mux.h >> index 2132308..8b2150a 100644 >> --- a/arch/arm/mach-omap2/mux.h >> +++ b/arch/arm/mach-omap2/mux.h >> @@ -225,8 +225,21 @@ omap_hwmod_mux_init(struct omap_device_pad *bpads, >> int nr_pads); >> */ >> void omap_hwmod_mux(struct omap_hwmod_mux_info *hmux, u8 state); >> >> +/** >> + * omap_hwmod_mux_get_wake_status - omap hwmod check pad wakeup >> + * @hmux: Pads for a hwmod >> + * >> + * Called only from omap_hwmod.c, do not use. >> + */ >> +bool omap_hwmod_mux_get_wake_status(struct omap_hwmod_mux_info *hmux); >> #else >> >> +static inline bool >> +omap_hwmod_mux_get_wake_status(struct omap_hwmod_mux_info *hmux) >> +{ >> + return 0; >> +} >> + >> static inline int omap_mux_init_gpio(int gpio, int val) >> { >> return 0; >> diff --git a/arch/arm/mach-omap2/omap_hwmod.c >> b/arch/arm/mach-omap2/omap_hwmod.c >> index e751dd9..a8b24d7 100644 >> --- a/arch/arm/mach-omap2/omap_hwmod.c >> +++ b/arch/arm/mach-omap2/omap_hwmod.c >> @@ -2724,3 +2724,10 @@ int omap_hwmod_no_setup_reset(struct omap_hwmod >> *oh) >> >> return 0; >> } >> + >> +int omap_hwmod_pad_get_wakeup_status(struct omap_hwmod *oh) >> +{ >> + if (oh&& oh->mux) >> + return omap_hwmod_mux_get_wake_status(oh->mux); >> + return -EINVAL; >> +} >> diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h >> b/arch/arm/plat-omap/include/plat/omap_hwmod.h >> index 0e329ca..9a6195c 100644 >> --- a/arch/arm/plat-omap/include/plat/omap_hwmod.h >> +++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h >> @@ -607,6 +607,7 @@ u32 omap_hwmod_get_context_loss_count(struct >> omap_hwmod *oh); >> >> int omap_hwmod_no_setup_reset(struct omap_hwmod *oh); >> >> +int omap_hwmod_pad_get_wakeup_status(struct omap_hwmod *oh); >> /* >> * Chip variant-specific hwmod init routines - XXX should be converted >> * to use initcalls once the initial boot ordering is straightened out > > -- > To unsubscribe from this list: send the line "unsubscribe linux-serial" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- 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