summaryrefslogtreecommitdiffstats
path: root/drivers/hsi
diff options
context:
space:
mode:
authorSebastian Reichel <sre@kernel.org>2016-04-30 00:07:35 +0200
committerSebastian Reichel <sre@kernel.org>2016-05-02 21:56:01 +0200
commitf704e1103e05a65c83b85c66d947e57bc20d6edd (patch)
tree5daa7284931512d19df195df957398dad30031a4 /drivers/hsi
parentHSI: omap_ssi_port: switch to gpiod API (diff)
downloadlinux-f704e1103e05a65c83b85c66d947e57bc20d6edd.tar.xz
linux-f704e1103e05a65c83b85c66d947e57bc20d6edd.zip
HSI: omap_ssi: fix module unloading
Removal of ssi controller debugfs directory must happen after the clients have been removed from it. Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Sebastian Reichel <sre@kernel.org>
Diffstat (limited to 'drivers/hsi')
-rw-r--r--drivers/hsi/controllers/omap_ssi.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/hsi/controllers/omap_ssi.c b/drivers/hsi/controllers/omap_ssi.c
index c582229d1cd2..2dd46b219af2 100644
--- a/drivers/hsi/controllers/omap_ssi.c
+++ b/drivers/hsi/controllers/omap_ssi.c
@@ -526,6 +526,9 @@ static int __exit ssi_remove(struct platform_device *pd)
{
struct hsi_controller *ssi = platform_get_drvdata(pd);
+ /* cleanup of of_platform_populate() call */
+ device_for_each_child(&pd->dev, NULL, ssi_remove_ports);
+
#ifdef CONFIG_DEBUG_FS
ssi_debug_remove_ctrl(ssi);
#endif
@@ -534,9 +537,6 @@ static int __exit ssi_remove(struct platform_device *pd)
pm_runtime_disable(&pd->dev);
- /* cleanup of of_platform_populate() call */
- device_for_each_child(&pd->dev, NULL, ssi_remove_ports);
-
return 0;
}