>-----Original Message----- >From: Rajendra Nayak [mailto:rnayak@xxxxxx] >Sent: Tuesday, March 22, 2011 1:58 PM >To: Hema Kalliguddi >Cc: linux-omap@xxxxxxxxxxxxxxx; paul@xxxxxxxxx; Benoit Cousson >Subject: Re: [RFC 2/3] OMAP3: hwmod: Add support to associate >an initiator with a hwmod > >On 3/21/2011 6:38 PM, Hema Kalliguddi wrote: >> Rajendra, >> >>> -----Original Message----- >>> From: linux-omap-owner@xxxxxxxxxxxxxxx >>> [mailto:linux-omap-owner@xxxxxxxxxxxxxxx] On Behalf Of >Rajendra Nayak >>> Sent: Monday, March 21, 2011 4:40 PM >>> To: linux-omap@xxxxxxxxxxxxxxx >>> Cc: paul@xxxxxxxxx; b-cousson@xxxxxx; Rajendra Nayak >>> Subject: [RFC 2/3] OMAP3: hwmod: Add support to associate an >>> initiator with a hwmod >>> >>> Add hwmod api's to add and delete an initiator >>> association with an hwmod. >>> >>> Signed-off-by: Rajendra Nayak<rnayak@xxxxxx> >>> --- >>> arch/arm/mach-omap2/omap_hwmod.c | 33 >>> ++++++++++++++++++++++++++ >>> arch/arm/plat-omap/include/plat/omap_hwmod.h | 2 + >>> 2 files changed, 35 insertions(+), 0 deletions(-) >>> >>> diff --git a/arch/arm/mach-omap2/omap_hwmod.c >>> b/arch/arm/mach-omap2/omap_hwmod.c >>> index e034294..d4826be 100644 >>> --- a/arch/arm/mach-omap2/omap_hwmod.c >>> +++ b/arch/arm/mach-omap2/omap_hwmod.c >>> @@ -2369,3 +2369,36 @@ int omap_hwmod_no_setup_reset(struct >>> omap_hwmod *oh) >>> >>> return 0; >>> } >>> + >>> +int omap_hwmod_add_initiator_user(struct omap_hwmod *oh, >u8 init_id) >>> +{ >>> + if (oh->_state != _HWMOD_STATE_ENABLED) >>> + return -EINVAL; >>> + >>> + if (cpu_is_omap34xx()) { >>> + return omap2_prm_module_enable_initiator_wakeup( >>> + >>> oh->prcm.omap2.module_offs, >>> + >>> oh->prcm.omap2.idlest_reg_id, >>> + >>> oh->prcm.omap2.idlest_idle_bit, >>> + init_id); >>> + } >>> + >>> + return -EINVAL; >> >> Why are you returning error when it not a omap34xx? >> Is it not that this API will be called for only omap34xx? > >No, this API could get called as part of a driver call >to the omap_device API on non-supported platform's as well. OK. > >> >>> +} >>> + >>> +int omap_hwmod_del_initiator_user(struct omap_hwmod *oh, >u8 init_id) >>> +{ >>> + if (oh->_state == _HWMOD_STATE_ENABLED) >>> + return -EINVAL; >>> + >>> + if (cpu_is_omap34xx()) { >>> + return omap2_prm_module_disable_initiator_wakeup( >>> + >>> oh->prcm.omap2.module_offs, >>> + >>> oh->prcm.omap2.idlest_reg_id, >>> + >>> oh->prcm.omap2.idlest_idle_bit, >>> + init_id); >>> + } >>> + >>> + return -EINVAL; >> >> Ditto... >> >>> + >>> +} >>> diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h >>> b/arch/arm/plat-omap/include/plat/omap_hwmod.h >>> index 4bd7354..fe47448 100644 >>> --- a/arch/arm/plat-omap/include/plat/omap_hwmod.h >>> +++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h >>> @@ -590,6 +590,8 @@ int omap_hwmod_add_initiator_dep(struct >>> omap_hwmod *oh, >>> struct omap_hwmod *init_oh); >>> int omap_hwmod_del_initiator_dep(struct omap_hwmod *oh, >>> struct omap_hwmod *init_oh); >>> +int omap_hwmod_add_initiator_user(struct omap_hwmod *oh, >u8 init_id); >>> +int omap_hwmod_del_initiator_user(struct omap_hwmod *oh, >u8 init_id); >>> >>> int omap_hwmod_set_clockact_both(struct omap_hwmod *oh); >>> int omap_hwmod_set_clockact_main(struct omap_hwmod *oh); >>> -- >> >> >> Regards, >> Hema >> >>> 1.7.0.4 >>> >>> -- >>> 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 >>> > > -- 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