RE: [RFC 2/3] OMAP3: hwmod: Add support to associate an initiator with a hwmod

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>-----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


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux