diff options
author | Tejun Heo <tj@kernel.org> | 2010-12-11 17:51:45 +0100 |
---|---|---|
committer | Anton Vorontsov <cbouatmailru@gmail.com> | 2010-12-22 02:39:56 +0300 |
commit | bc51e7ff521f28a7f14dc2f25307ad9101d1305a (patch) | |
tree | 011477cb2e90d2038261170a4e688f795d6720f9 /drivers/power/collie_battery.c | |
parent | 3a2dbd611b38cf9a026c0099a85701ad183d1949 (diff) | |
download | blackbird-op-linux-bc51e7ff521f28a7f14dc2f25307ad9101d1305a.tar.gz blackbird-op-linux-bc51e7ff521f28a7f14dc2f25307ad9101d1305a.zip |
power_supply: Don't use flush_scheduled_work()
flush_scheduled_work() is deprecated and scheduled to be removed.
In battery drivers, the work can be canceled on probe failure and
removal and should be flushed on suspend. Replace
flush_scheduled_work() usages with direct cancels and flushes.
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
Diffstat (limited to 'drivers/power/collie_battery.c')
-rw-r--r-- | drivers/power/collie_battery.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/power/collie_battery.c b/drivers/power/collie_battery.c index 039f41ae217d..548d263b1ad0 100644 --- a/drivers/power/collie_battery.c +++ b/drivers/power/collie_battery.c @@ -295,7 +295,7 @@ static struct { static int collie_bat_suspend(struct ucb1x00_dev *dev, pm_message_t state) { /* flush all pending status updates */ - flush_scheduled_work(); + flush_work_sync(&bat_work); return 0; } @@ -362,7 +362,7 @@ err_psy_reg_bu: err_psy_reg_main: /* see comment in collie_bat_remove */ - flush_scheduled_work(); + cancel_work_sync(&bat_work); i--; err_gpio: @@ -382,12 +382,11 @@ static void __devexit collie_bat_remove(struct ucb1x00_dev *dev) power_supply_unregister(&collie_bat_main.psy); /* - * now flush all pending work. - * we won't get any more schedules, since all - * sources (isr and external_power_changed) - * are unregistered now. + * Now cancel the bat_work. We won't get any more schedules, + * since all sources (isr and external_power_changed) are + * unregistered now. */ - flush_scheduled_work(); + cancel_work_sync(&bat_work); for (i = ARRAY_SIZE(gpios) - 1; i >= 0; i--) gpio_free(gpios[i].gpio); |