On Mon, Oct 3, 2011 at 10:53 AM, Rajendra Nayak <rnayak@xxxxxx> wrote: > On Monday 03 October 2011 10:30 AM, Govindraj wrote: >> >> 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. > > So shouldn't this patch be part of his series instead? Yes it is. Part of his v9-series. -- Thanks, Govindraj.R > >> >> 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