diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2014-07-31 09:15:39 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2014-08-08 07:26:36 -0400 |
commit | e4e42b8ad24cabf4d6d3c20a63f18dd6b954d9c2 (patch) | |
tree | d66c5340fb80f3e45d73d5114d8fff42973128b0 | |
parent | be92abea827b82957450dd4ac7f997d5e8173d60 (diff) |
OMAPDSS: DSI: fix depopulating dsi peripherals
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>
-rw-r--r-- | drivers/video/fbdev/omap2/dss/dsi.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/video/fbdev/omap2/dss/dsi.c b/drivers/video/fbdev/omap2/dss/dsi.c index 4755a34a5422..56b92444c54f 100644 --- a/drivers/video/fbdev/omap2/dss/dsi.c +++ b/drivers/video/fbdev/omap2/dss/dsi.c | |||
@@ -5658,18 +5658,11 @@ err_runtime_get: | |||
5658 | return r; | 5658 | return r; |
5659 | } | 5659 | } |
5660 | 5660 | ||
5661 | static int dsi_unregister_child(struct device *dev, void *data) | ||
5662 | { | ||
5663 | struct platform_device *pdev = to_platform_device(dev); | ||
5664 | platform_device_unregister(pdev); | ||
5665 | return 0; | ||
5666 | } | ||
5667 | |||
5668 | static int __exit omap_dsihw_remove(struct platform_device *dsidev) | 5661 | static int __exit omap_dsihw_remove(struct platform_device *dsidev) |
5669 | { | 5662 | { |
5670 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 5663 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
5671 | 5664 | ||
5672 | device_for_each_child(&dsidev->dev, NULL, dsi_unregister_child); | 5665 | of_platform_depopulate(&dsidev->dev); |
5673 | 5666 | ||
5674 | WARN_ON(dsi->scp_clk_refcount > 0); | 5667 | WARN_ON(dsi->scp_clk_refcount > 0); |
5675 | 5668 | ||