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 <rnayak@xxxxxx> Cc: Kevin Hilman <khilman@xxxxxx> --- 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 2d00ab0..27aa02d 100644 --- a/arch/arm/plat-omap/omap_device.c +++ b/arch/arm/plat-omap/omap_device.c @@ -808,8 +808,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) { @@ -820,6 +820,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 -- 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