OMAPDSS: DSI: fix depopulating dsi peripherals
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 31 Jul 2014 13:15:39 +0000 (16:15 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 8 Aug 2014 11:26:36 +0000 (14:26 +0300)
After v3.16-rc1, devices populated with of_platform_populate() should be
depopulated using of_platform_depopulate(). Failure to do so prevents
the devices from being populated again (e.g. when loading a module).

This patch fixes the problem for the OMAP DSI driver.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/fbdev/omap2/dss/dsi.c

index 4755a34a5422f6f6431e07b4a349866e4553dc3c..56b92444c54f6e42a946b2b4538d8a9df1b634d0 100644 (file)
@@ -5658,18 +5658,11 @@ err_runtime_get:
        return r;
 }
 
-static int dsi_unregister_child(struct device *dev, void *data)
-{
-       struct platform_device *pdev = to_platform_device(dev);
-       platform_device_unregister(pdev);
-       return 0;
-}
-
 static int __exit omap_dsihw_remove(struct platform_device *dsidev)
 {
        struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev);
 
-       device_for_each_child(&dsidev->dev, NULL, dsi_unregister_child);
+       of_platform_depopulate(&dsidev->dev);
 
        WARN_ON(dsi->scp_clk_refcount > 0);