On 9/1/2011 12:23 AM, Hilman, Kevin wrote:
Benoit Cousson<b-cousson@xxxxxx> writes:
From: Nishanth Menon<nm@xxxxxx>
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@xxxxxx>
[b-cousson@xxxxxx: Adapt it to the new pdev pointer inside od]
Signed-off-by: Benoit Cousson<b-cousson@xxxxxx>
---
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
--
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