[PATCH v2 2/7] ARM: OMAP: omap_device: Add omap_device_unregister()
From: Rajendra Nayak <hidden>
Date: 2012-02-23 11:40:42
Also in:
linux-omap
Subsystem:
arm port, the rest · Maintainers:
Russell King, Linus Torvalds
Add support to unregister an omap_device using omap_device_unregister api. While here, also fix the kerneldoc comments for omap_device_register. Signed-off-by: Rajendra Nayak <redacted> Cc: Kevin Hilman <redacted> --- arch/arm/plat-omap/include/plat/omap_device.h | 1 + arch/arm/plat-omap/omap_device.c | 20 ++++++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/arch/arm/plat-omap/include/plat/omap_device.h b/arch/arm/plat-omap/include/plat/omap_device.h
index 05f7615..ce0dc86 100644
--- a/arch/arm/plat-omap/include/plat/omap_device.h
+++ b/arch/arm/plat-omap/include/plat/omap_device.h@@ -106,6 +106,7 @@ struct omap_device *omap_device_alloc(struct platform_device *pdev, int pm_lats_cnt); void omap_device_delete(struct omap_device *od); int omap_device_register(struct platform_device *pdev); +void omap_device_unregister(struct platform_device *pdev); void __iomem *omap_device_get_rt_va(struct omap_device *od); struct device *omap_device_get_by_hwmod_name(const char *oh_name);
diff --git a/arch/arm/plat-omap/omap_device.c b/arch/arm/plat-omap/omap_device.c
index f72fafc..ae7f055 100644
--- a/arch/arm/plat-omap/omap_device.c
+++ b/arch/arm/plat-omap/omap_device.c@@ -807,8 +807,8 @@ static struct dev_pm_domain omap_device_pm_domain = { * @od: struct omap_device * to register * * Register the omap_device structure. This currently just calls - * platform_device_register() on the underlying platform_device. - * Returns the return value of platform_device_register(). + * platform_device_add() on the underlying platform_device. + * Returns the return value of platform_device_add(). */ int omap_device_register(struct platform_device *pdev) {
@@ -819,6 +819,22 @@ int omap_device_register(struct platform_device *pdev) return platform_device_add(pdev); } +/** + * omap_device_unregister - unregister an omap_device with one omap_hwmod + * @od: struct omap_device * to unregister + * + * Unregister the omap_device structure. This currently just calls + * platform_device_del() on the underlying platform_device. + * No return value. + */ +void omap_device_unregister(struct platform_device *pdev) +{ + pr_debug("omap_device: %s: unregistering\n", pdev->name); + + pdev->dev.parent = &omap_device_parent; + pdev->dev.pm_domain = &omap_device_pm_domain; + platform_device_del(pdev); +} /* Public functions for use by device drivers through struct platform_data */
--
1.7.1