[PATCH 2/7] OMAP: PM: omap_device: add few quick access functions

Cousson, Benoit b-cousson at ti.com
Thu Sep 1 07:55:14 EDT 2011


On 9/1/2011 12:23 AM, Hilman, Kevin wrote:
> Benoit Cousson<b-cousson at ti.com>  writes:
>
>> From: Nishanth Menon<nm at ti.com>
>>
>> Provide a quick set of access functions:
>> a) Convert omap_device to platform_device - This is the flip of
>>     to_omap_device for equivalent usage
>> b) Convert omap_device to device pointer - This is useful for
>>     most devices that need to go through standard linux functions that
>>     take device pointer.
>> c) Convert hwmod to device pointer - This wrapper provides ability for
>>     drivers to convert directly from hwmod name back to device pointer
>>     without having to handle this on a driver by driver basis
>>
>> Signed-off-by: Nishanth Menon<nm at ti.com>
>> [b-cousson at ti.com: Adapt it to the new pdev pointer inside od]
>> Signed-off-by: Benoit Cousson<b-cousson at ti.com>
>> ---
>>   arch/arm/plat-omap/include/plat/omap_device.h |   15 +++++++++++++++
>>   1 files changed, 15 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/plat-omap/include/plat/omap_device.h b/arch/arm/plat-omap/include/plat/omap_device.h
>> index bdc2804..903f329 100644
>> --- a/arch/arm/plat-omap/include/plat/omap_device.h
>> +++ b/arch/arm/plat-omap/include/plat/omap_device.h
>> @@ -152,6 +152,21 @@ static inline struct omap_device *to_omap_device(struct platform_device *pdev)
>>   	return pdev ? pdev->archdata.od : NULL;
>>   }
>>
>> +/* Convert omap_device to platform device pointer */
>> +#define omap_device_get_pdev(x) ((x)->pdev)
>> +/* Convert omap_device to device pointer */
>> +#define omap_device_get_dev(x) (&omap_device_get_pdev(x)->dev)
>
> I don't see these used elsewhere, and I don't think they're needed...

Well, there are used once... just below, and that's all.

>> +/* Convert omap_hwmod name to device pointer */
>> +static inline struct device *omap_hwmod_name_get_dev(const char *oh_name)
>> +{
>> +	struct omap_device *od;
>> +	od = omap_hwmod_name_get_odev(oh_name);
>> +	if (IS_ERR_OR_NULL(od))
>> +		return ERR_PTR(od ? PTR_ERR(od) : -ENODEV);
>> +	return omap_device_get_dev(od);
>> +}
>> +

I will let Nishant comment, but I guess the idea was that an omap_device 
API should handle omap_device pointer, and then access to pdev or dev is 
done using these helpers.

Assuming that now omap_device API should preferably use pdev, we can 
remove one step of indirection and thus get rid of the helpers, since 
they are not used anywhere else.

> After comments on patch 1 are addressed, the
>
>        pdev = omap_hwmod_name_get_pdev(oh_name)
>        return&pdev->dev;

Thanks,
Benoit



More information about the linux-arm-kernel mailing list