aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2008-03-23 15:28:24 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-04-19 22:10:28 -0400
commitb844eba292b477cda14582bfc6f535deed57a82d (patch)
treeb2418a9a4fc672654f4592ae0a3e2853d82271c3 /drivers/net/wireless/b43
parent138fe4e069798d9aa948a5402ff15e58f483ee4e (diff)
PM: Remove destroy_suspended_device()
After 2.6.24 there was a plan to make the PM core acquire all device semaphores during a suspend/hibernation to protect itself from concurrent operations involving device objects. That proved to be too heavy-handed and we found a better way to achieve the goal, but before it happened, we had introduced the functions device_pm_schedule_removal() and destroy_suspended_device() to allow drivers to "safely" destroy a suspended device and we had adapted some drivers to use them. Now that these functions are no longer necessary, it seems reasonable to remove them and modify their users to use the normal device unregistration instead. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/net/wireless/b43')
-rw-r--r--drivers/net/wireless/b43/leds.c5
-rw-r--r--drivers/net/wireless/b43/main.c8
2 files changed, 5 insertions, 8 deletions
diff --git a/drivers/net/wireless/b43/leds.c b/drivers/net/wireless/b43/leds.c
index 0aac1ff511df..36a9c42df835 100644
--- a/drivers/net/wireless/b43/leds.c
+++ b/drivers/net/wireless/b43/leds.c
@@ -116,10 +116,7 @@ static void b43_unregister_led(struct b43_led *led)
116{ 116{
117 if (!led->dev) 117 if (!led->dev)
118 return; 118 return;
119 if (led->dev->suspend_in_progress) 119 led_classdev_unregister(&led->led_dev);
120 led_classdev_unregister_suspended(&led->led_dev);
121 else
122 led_classdev_unregister(&led->led_dev);
123 b43_led_turn_off(led->dev, led->index, led->activelow); 120 b43_led_turn_off(led->dev, led->index, led->activelow);
124 led->dev = NULL; 121 led->dev = NULL;
125} 122}
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index cf5c046c9fa8..943cc851c504 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -2804,10 +2804,10 @@ static int b43_rng_read(struct hwrng *rng, u32 * data)
2804 return (sizeof(u16)); 2804 return (sizeof(u16));
2805} 2805}
2806 2806
2807static void b43_rng_exit(struct b43_wl *wl, bool suspended) 2807static void b43_rng_exit(struct b43_wl *wl)
2808{ 2808{
2809 if (wl->rng_initialized) 2809 if (wl->rng_initialized)
2810 __hwrng_unregister(&wl->rng, suspended); 2810 hwrng_unregister(&wl->rng);
2811} 2811}
2812 2812
2813static int b43_rng_init(struct b43_wl *wl) 2813static int b43_rng_init(struct b43_wl *wl)
@@ -3824,7 +3824,7 @@ static void b43_wireless_core_exit(struct b43_wldev *dev)
3824 3824
3825 if (!dev->suspend_in_progress) { 3825 if (!dev->suspend_in_progress) {
3826 b43_leds_exit(dev); 3826 b43_leds_exit(dev);
3827 b43_rng_exit(dev->wl, false); 3827 b43_rng_exit(dev->wl);
3828 } 3828 }
3829 b43_dma_free(dev); 3829 b43_dma_free(dev);
3830 b43_pio_free(dev); 3830 b43_pio_free(dev);
@@ -4589,7 +4589,7 @@ static int b43_resume(struct ssb_device *dev)
4589 err = b43_wireless_core_start(wldev); 4589 err = b43_wireless_core_start(wldev);
4590 if (err) { 4590 if (err) {
4591 b43_leds_exit(wldev); 4591 b43_leds_exit(wldev);
4592 b43_rng_exit(wldev->wl, true); 4592 b43_rng_exit(wldev->wl);
4593 b43_wireless_core_exit(wldev); 4593 b43_wireless_core_exit(wldev);
4594 b43err(wl, "Resume failed at core start\n"); 4594 b43err(wl, "Resume failed at core start\n");
4595 goto out; 4595 goto out;