diff options
author | Daniel Martensson <daniel.martensson@stericsson.com> | 2011-10-13 11:29:26 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-10-19 03:25:41 -0400 |
commit | ca63f8c7512acbd1171bbabefc7a7765ce117939 (patch) | |
tree | 68580a6c006818c9a415da560da53201026b3be8 /drivers/net/caif | |
parent | 687b13e98addc99644002703944ec89e94287cb6 (diff) | |
download | talos-obmc-linux-ca63f8c7512acbd1171bbabefc7a7765ce117939.tar.gz talos-obmc-linux-ca63f8c7512acbd1171bbabefc7a7765ce117939.zip |
caif-hsi: HSI-Platform device register and unregisters itself
Platform device is no longer removed from caif_hsi at shutdown.
The HSI-platform device must do it's own registration and unregistration.
Signed-off-by: Sjur Brændeland <sjur.brandeland@stericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/caif')
-rw-r--r-- | drivers/net/caif/caif_hsi.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/net/caif/caif_hsi.c b/drivers/net/caif/caif_hsi.c index 478b025c9f8b..f46ab4dfd7a0 100644 --- a/drivers/net/caif/caif_hsi.c +++ b/drivers/net/caif/caif_hsi.c @@ -1083,7 +1083,7 @@ int cfhsi_probe(struct platform_device *pdev) return res; } -static void cfhsi_shutdown(struct cfhsi *cfhsi, bool remove_platform_dev) +static void cfhsi_shutdown(struct cfhsi *cfhsi) { u8 *tx_buf, *rx_buf; @@ -1093,14 +1093,6 @@ static void cfhsi_shutdown(struct cfhsi *cfhsi, bool remove_platform_dev) /* going to shutdown driver */ set_bit(CFHSI_SHUTDOWN, &cfhsi->bits); - if (remove_platform_dev) { - /* Flush workqueue */ - flush_workqueue(cfhsi->wq); - - /* Notify device. */ - platform_device_unregister(cfhsi->pdev); - } - /* Flush workqueue */ flush_workqueue(cfhsi->wq); @@ -1111,7 +1103,7 @@ static void cfhsi_shutdown(struct cfhsi *cfhsi, bool remove_platform_dev) /* Cancel pending RX request (if any) */ cfhsi->dev->cfhsi_rx_cancel(cfhsi->dev); - /* Flush again and destroy workqueue */ + /* Destroy workqueue */ destroy_workqueue(cfhsi->wq); /* Store bufferes: will be freed later. */ @@ -1150,7 +1142,7 @@ int cfhsi_remove(struct platform_device *pdev) spin_unlock(&cfhsi_list_lock); /* Shutdown driver. */ - cfhsi_shutdown(cfhsi, false); + cfhsi_shutdown(cfhsi); return 0; } @@ -1183,7 +1175,7 @@ static void __exit cfhsi_exit_module(void) spin_unlock(&cfhsi_list_lock); /* Shutdown driver. */ - cfhsi_shutdown(cfhsi, true); + cfhsi_shutdown(cfhsi); spin_lock(&cfhsi_list_lock); } |