aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2012-08-20 17:51:24 -0400
committerTejun Heo <tj@kernel.org>2012-08-20 17:51:24 -0400
commit43829731dd372d04d6706c51052b9dabab9ca356 (patch)
tree2cfa255dcec2f5cc867ab39cdcf4a25eae54845f
parentae930e0f4e66fd540c6fbad9f1e2a7743d8b9afe (diff)
workqueue: deprecate flush[_delayed]_work_sync()
flush[_delayed]_work_sync() are now spurious. Mark them deprecated and convert all users to flush[_delayed]_work(). If you're cc'd and wondering what's going on: Now all workqueues are non-reentrant and the regular flushes guarantee that the work item is not pending or running on any CPU on return, so there's no reason to use the sync flushes at all and they're going away. This patch doesn't make any functional difference. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Russell King <linux@arm.linux.org.uk> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Ian Campbell <ian.campbell@citrix.com> Cc: Jens Axboe <axboe@kernel.dk> Cc: Mattia Dongili <malattia@linux.it> Cc: Kent Yoder <key@linux.vnet.ibm.com> Cc: David Airlie <airlied@linux.ie> Cc: Jiri Kosina <jkosina@suse.cz> Cc: Karsten Keil <isdn@linux-pingi.de> Cc: Bryan Wu <bryan.wu@canonical.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Alasdair Kergon <agk@redhat.com> Cc: Mauro Carvalho Chehab <mchehab@infradead.org> Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: David Woodhouse <dwmw2@infradead.org> Cc: "David S. Miller" <davem@davemloft.net> Cc: linux-wireless@vger.kernel.org Cc: Anton Vorontsov <cbou@mail.ru> Cc: Sangbeom Kim <sbkim73@samsung.com> Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Eric Van Hensbergen <ericvh@gmail.com> Cc: Takashi Iwai <tiwai@suse.de> Cc: Steven Whitehouse <swhiteho@redhat.com> Cc: Petr Vandrovec <petr@vandrovec.name> Cc: Mark Fasheh <mfasheh@suse.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Avi Kivity <avi@redhat.com>
-rw-r--r--arch/arm/mach-pxa/sharpsl_pm.c4
-rw-r--r--arch/arm/plat-omap/mailbox.c2
-rw-r--r--arch/sh/drivers/push-switch.c2
-rw-r--r--drivers/block/xen-blkfront.c4
-rw-r--r--drivers/cdrom/gdrom.c2
-rw-r--r--drivers/char/sonypi.c2
-rw-r--r--drivers/char/tpm/tpm.c4
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_g2d.c2
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_gpio.c2
-rw-r--r--drivers/gpu/drm/radeon/radeon_irq_kms.c2
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_fb.c2
-rw-r--r--drivers/hid/hid-picolcd.c2
-rw-r--r--drivers/input/touchscreen/wm831x-ts.c2
-rw-r--r--drivers/isdn/mISDN/hwchannel.c4
-rw-r--r--drivers/leds/leds-lm3533.c6
-rw-r--r--drivers/leds/leds-lp8788.c2
-rw-r--r--drivers/leds/leds-wm8350.c2
-rw-r--r--drivers/macintosh/ams/ams-core.c2
-rw-r--r--drivers/md/dm-mpath.c2
-rw-r--r--drivers/md/dm-raid1.c2
-rw-r--r--drivers/md/dm-stripe.c2
-rw-r--r--drivers/media/dvb/dvb-core/dvb_net.c4
-rw-r--r--drivers/media/dvb/mantis/mantis_evm.c2
-rw-r--r--drivers/media/dvb/mantis/mantis_uart.c2
-rw-r--r--drivers/media/video/bt8xx/bttv-driver.c2
-rw-r--r--drivers/media/video/cx18/cx18-driver.c2
-rw-r--r--drivers/media/video/cx231xx/cx231xx-cards.c2
-rw-r--r--drivers/media/video/cx23885/cx23885-input.c6
-rw-r--r--drivers/media/video/cx88/cx88-mpeg.c2
-rw-r--r--drivers/media/video/em28xx/em28xx-cards.c2
-rw-r--r--drivers/media/video/omap24xxcam.c6
-rw-r--r--drivers/media/video/saa7134/saa7134-core.c2
-rw-r--r--drivers/media/video/saa7134/saa7134-empress.c2
-rw-r--r--drivers/media/video/tm6000/tm6000-cards.c2
-rw-r--r--drivers/mfd/menelaus.c4
-rw-r--r--drivers/misc/ioc4.c2
-rw-r--r--drivers/mtd/mtdoops.c4
-rw-r--r--drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c2
-rw-r--r--drivers/net/ethernet/neterion/vxge/vxge-main.c2
-rw-r--r--drivers/net/ethernet/sun/cassini.c2
-rw-r--r--drivers/net/ethernet/sun/niu.c2
-rw-r--r--drivers/net/wireless/hostap/hostap_ap.c4
-rw-r--r--drivers/net/wireless/hostap/hostap_hw.c10
-rw-r--r--drivers/power/collie_battery.c2
-rw-r--r--drivers/power/tosa_battery.c2
-rw-r--r--drivers/power/wm97xx_battery.c2
-rw-r--r--drivers/power/z2_battery.c2
-rw-r--r--drivers/regulator/core.c2
-rw-r--r--drivers/scsi/arcmsr/arcmsr_hba.c4
-rw-r--r--drivers/scsi/ipr.c2
-rw-r--r--drivers/scsi/pmcraid.c2
-rw-r--r--drivers/scsi/qla2xxx/qla_target.c2
-rw-r--r--drivers/tty/hvc/hvsi.c2
-rw-r--r--drivers/tty/ipwireless/hardware.c2
-rw-r--r--drivers/tty/ipwireless/network.c4
-rw-r--r--drivers/tty/serial/kgdboc.c2
-rw-r--r--drivers/tty/serial/omap-serial.c2
-rw-r--r--drivers/tty/tty_ldisc.c6
-rw-r--r--drivers/usb/atm/speedtch.c2
-rw-r--r--drivers/usb/atm/ueagle-atm.c2
-rw-r--r--drivers/usb/gadget/u_ether.c2
-rw-r--r--drivers/usb/host/ohci-hcd.c2
-rw-r--r--drivers/usb/otg/isp1301_omap.c2
-rw-r--r--fs/affs/super.c2
-rw-r--r--fs/gfs2/lock_dlm.c2
-rw-r--r--fs/gfs2/super.c2
-rw-r--r--fs/hfs/inode.c2
-rw-r--r--fs/ncpfs/inode.c6
-rw-r--r--fs/ocfs2/cluster/quorum.c2
-rw-r--r--fs/xfs/xfs_super.c2
-rw-r--r--fs/xfs/xfs_sync.c2
-rw-r--r--include/linux/workqueue.h4
-rw-r--r--net/9p/trans_fd.c2
-rw-r--r--net/dsa/dsa.c2
-rw-r--r--sound/i2c/other/ak4113.c2
-rw-r--r--sound/i2c/other/ak4114.c2
-rw-r--r--sound/pci/oxygen/oxygen_lib.c8
-rw-r--r--sound/soc/codecs/wm8350.c2
-rw-r--r--sound/soc/codecs/wm8753.c2
-rw-r--r--sound/soc/soc-core.c6
-rw-r--r--virt/kvm/eventfd.c2
81 files changed, 111 insertions, 111 deletions
diff --git a/arch/arm/mach-pxa/sharpsl_pm.c b/arch/arm/mach-pxa/sharpsl_pm.c
index bdf4cb88ca0..7875ad6456b 100644
--- a/arch/arm/mach-pxa/sharpsl_pm.c
+++ b/arch/arm/mach-pxa/sharpsl_pm.c
@@ -579,8 +579,8 @@ static int sharpsl_ac_check(void)
579static int sharpsl_pm_suspend(struct platform_device *pdev, pm_message_t state) 579static int sharpsl_pm_suspend(struct platform_device *pdev, pm_message_t state)
580{ 580{
581 sharpsl_pm.flags |= SHARPSL_SUSPENDED; 581 sharpsl_pm.flags |= SHARPSL_SUSPENDED;
582 flush_delayed_work_sync(&toggle_charger); 582 flush_delayed_work(&toggle_charger);
583 flush_delayed_work_sync(&sharpsl_bat); 583 flush_delayed_work(&sharpsl_bat);
584 584
585 if (sharpsl_pm.charge_mode == CHRG_ON) 585 if (sharpsl_pm.charge_mode == CHRG_ON)
586 sharpsl_pm.flags |= SHARPSL_DO_OFFLINE_CHRG; 586 sharpsl_pm.flags |= SHARPSL_DO_OFFLINE_CHRG;
diff --git a/arch/arm/plat-omap/mailbox.c b/arch/arm/plat-omap/mailbox.c
index 5e13c3884aa..42377ef9ea3 100644
--- a/arch/arm/plat-omap/mailbox.c
+++ b/arch/arm/plat-omap/mailbox.c
@@ -310,7 +310,7 @@ static void omap_mbox_fini(struct omap_mbox *mbox)
310 omap_mbox_disable_irq(mbox, IRQ_RX); 310 omap_mbox_disable_irq(mbox, IRQ_RX);
311 free_irq(mbox->irq, mbox); 311 free_irq(mbox->irq, mbox);
312 tasklet_kill(&mbox->txq->tasklet); 312 tasklet_kill(&mbox->txq->tasklet);
313 flush_work_sync(&mbox->rxq->work); 313 flush_work(&mbox->rxq->work);
314 mbox_queue_free(mbox->txq); 314 mbox_queue_free(mbox->txq);
315 mbox_queue_free(mbox->rxq); 315 mbox_queue_free(mbox->rxq);
316 } 316 }
diff --git a/arch/sh/drivers/push-switch.c b/arch/sh/drivers/push-switch.c
index 637b79b0965..5bfb341cc5c 100644
--- a/arch/sh/drivers/push-switch.c
+++ b/arch/sh/drivers/push-switch.c
@@ -107,7 +107,7 @@ static int switch_drv_remove(struct platform_device *pdev)
107 device_remove_file(&pdev->dev, &dev_attr_switch); 107 device_remove_file(&pdev->dev, &dev_attr_switch);
108 108
109 platform_set_drvdata(pdev, NULL); 109 platform_set_drvdata(pdev, NULL);
110 flush_work_sync(&psw->work); 110 flush_work(&psw->work);
111 del_timer_sync(&psw->debounce); 111 del_timer_sync(&psw->debounce);
112 free_irq(irq, pdev); 112 free_irq(irq, pdev);
113 113
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 2c2d2e5c159..007db8986e8 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -670,7 +670,7 @@ static void xlvbd_release_gendisk(struct blkfront_info *info)
670 spin_unlock_irqrestore(&info->io_lock, flags); 670 spin_unlock_irqrestore(&info->io_lock, flags);
671 671
672 /* Flush gnttab callback work. Must be done with no locks held. */ 672 /* Flush gnttab callback work. Must be done with no locks held. */
673 flush_work_sync(&info->work); 673 flush_work(&info->work);
674 674
675 del_gendisk(info->gd); 675 del_gendisk(info->gd);
676 676
@@ -719,7 +719,7 @@ static void blkif_free(struct blkfront_info *info, int suspend)
719 spin_unlock_irq(&info->io_lock); 719 spin_unlock_irq(&info->io_lock);
720 720
721 /* Flush gnttab callback work. Must be done with no locks held. */ 721 /* Flush gnttab callback work. Must be done with no locks held. */
722 flush_work_sync(&info->work); 722 flush_work(&info->work);
723 723
724 /* Free resources associated with old device channel. */ 724 /* Free resources associated with old device channel. */
725 if (info->ring_ref != GRANT_INVALID_REF) { 725 if (info->ring_ref != GRANT_INVALID_REF) {
diff --git a/drivers/cdrom/gdrom.c b/drivers/cdrom/gdrom.c
index 3ceaf006e7f..75d485afe56 100644
--- a/drivers/cdrom/gdrom.c
+++ b/drivers/cdrom/gdrom.c
@@ -840,7 +840,7 @@ probe_fail_no_mem:
840 840
841static int __devexit remove_gdrom(struct platform_device *devptr) 841static int __devexit remove_gdrom(struct platform_device *devptr)
842{ 842{
843 flush_work_sync(&work); 843 flush_work(&work);
844 blk_cleanup_queue(gd.gdrom_rq); 844 blk_cleanup_queue(gd.gdrom_rq);
845 free_irq(HW_EVENT_GDROM_CMD, &gd); 845 free_irq(HW_EVENT_GDROM_CMD, &gd);
846 free_irq(HW_EVENT_GDROM_DMA, &gd); 846 free_irq(HW_EVENT_GDROM_DMA, &gd);
diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.c
index f87780502b4..320debbe32f 100644
--- a/drivers/char/sonypi.c
+++ b/drivers/char/sonypi.c
@@ -1433,7 +1433,7 @@ static int __devexit sonypi_remove(struct platform_device *dev)
1433 sonypi_disable(); 1433 sonypi_disable();
1434 1434
1435 synchronize_irq(sonypi_device.irq); 1435 synchronize_irq(sonypi_device.irq);
1436 flush_work_sync(&sonypi_device.input_work); 1436 flush_work(&sonypi_device.input_work);
1437 1437
1438 if (useinput) { 1438 if (useinput) {
1439 input_unregister_device(sonypi_device.input_key_dev); 1439 input_unregister_device(sonypi_device.input_key_dev);
diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c
index 817f0ee202b..3af9f4d1a23 100644
--- a/drivers/char/tpm/tpm.c
+++ b/drivers/char/tpm/tpm.c
@@ -1172,7 +1172,7 @@ int tpm_release(struct inode *inode, struct file *file)
1172 struct tpm_chip *chip = file->private_data; 1172 struct tpm_chip *chip = file->private_data;
1173 1173
1174 del_singleshot_timer_sync(&chip->user_read_timer); 1174 del_singleshot_timer_sync(&chip->user_read_timer);
1175 flush_work_sync(&chip->work); 1175 flush_work(&chip->work);
1176 file->private_data = NULL; 1176 file->private_data = NULL;
1177 atomic_set(&chip->data_pending, 0); 1177 atomic_set(&chip->data_pending, 0);
1178 kfree(chip->data_buffer); 1178 kfree(chip->data_buffer);
@@ -1225,7 +1225,7 @@ ssize_t tpm_read(struct file *file, char __user *buf,
1225 int rc; 1225 int rc;
1226 1226
1227 del_singleshot_timer_sync(&chip->user_read_timer); 1227 del_singleshot_timer_sync(&chip->user_read_timer);
1228 flush_work_sync(&chip->work); 1228 flush_work(&chip->work);
1229 ret_size = atomic_read(&chip->data_pending); 1229 ret_size = atomic_read(&chip->data_pending);
1230 atomic_set(&chip->data_pending, 0); 1230 atomic_set(&chip->data_pending, 0);
1231 if (ret_size > 0) { /* relay data */ 1231 if (ret_size > 0) { /* relay data */
diff --git a/drivers/gpu/drm/exynos/exynos_drm_g2d.c b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
index d2d88f22a03..a40808e5133 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_g2d.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
@@ -908,7 +908,7 @@ static int g2d_suspend(struct device *dev)
908 /* FIXME: good range? */ 908 /* FIXME: good range? */
909 usleep_range(500, 1000); 909 usleep_range(500, 1000);
910 910
911 flush_work_sync(&g2d->runqueue_work); 911 flush_work(&g2d->runqueue_work);
912 912
913 return 0; 913 return 0;
914} 914}
diff --git a/drivers/gpu/drm/nouveau/nouveau_gpio.c b/drivers/gpu/drm/nouveau/nouveau_gpio.c
index 82c19e82ff0..0fe4e17c461 100644
--- a/drivers/gpu/drm/nouveau/nouveau_gpio.c
+++ b/drivers/gpu/drm/nouveau/nouveau_gpio.c
@@ -302,7 +302,7 @@ nouveau_gpio_isr_del(struct drm_device *dev, int idx, u8 tag, u8 line,
302 spin_unlock_irqrestore(&pgpio->lock, flags); 302 spin_unlock_irqrestore(&pgpio->lock, flags);
303 303
304 list_for_each_entry_safe(isr, tmp, &tofree, head) { 304 list_for_each_entry_safe(isr, tmp, &tofree, head) {
305 flush_work_sync(&isr->work); 305 flush_work(&isr->work);
306 kfree(isr); 306 kfree(isr);
307 } 307 }
308 } 308 }
diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c
index afaa1727abd..50b596ec7b7 100644
--- a/drivers/gpu/drm/radeon/radeon_irq_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c
@@ -277,7 +277,7 @@ void radeon_irq_kms_fini(struct radeon_device *rdev)
277 if (rdev->msi_enabled) 277 if (rdev->msi_enabled)
278 pci_disable_msi(rdev->pdev); 278 pci_disable_msi(rdev->pdev);
279 } 279 }
280 flush_work_sync(&rdev->hotplug_work); 280 flush_work(&rdev->hotplug_work);
281} 281}
282 282
283/** 283/**
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
index 3c447bf317c..a32f2e96dd0 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
@@ -594,7 +594,7 @@ int vmw_fb_off(struct vmw_private *vmw_priv)
594 par->dirty.active = false; 594 par->dirty.active = false;
595 spin_unlock_irqrestore(&par->dirty.lock, flags); 595 spin_unlock_irqrestore(&par->dirty.lock, flags);
596 596
597 flush_delayed_work_sync(&info->deferred_work); 597 flush_delayed_work(&info->deferred_work);
598 598
599 par->bo_ptr = NULL; 599 par->bo_ptr = NULL;
600 ttm_bo_kunmap(&par->map); 600 ttm_bo_kunmap(&par->map);
diff --git a/drivers/hid/hid-picolcd.c b/drivers/hid/hid-picolcd.c
index 27c8ebdfad0..3e90dee30ff 100644
--- a/drivers/hid/hid-picolcd.c
+++ b/drivers/hid/hid-picolcd.c
@@ -2737,7 +2737,7 @@ static void __exit picolcd_exit(void)
2737{ 2737{
2738 hid_unregister_driver(&picolcd_driver); 2738 hid_unregister_driver(&picolcd_driver);
2739#ifdef CONFIG_HID_PICOLCD_FB 2739#ifdef CONFIG_HID_PICOLCD_FB
2740 flush_work_sync(&picolcd_fb_cleanup); 2740 flush_work(&picolcd_fb_cleanup);
2741 WARN_ON(fb_pending); 2741 WARN_ON(fb_pending);
2742#endif 2742#endif
2743} 2743}
diff --git a/drivers/input/touchscreen/wm831x-ts.c b/drivers/input/touchscreen/wm831x-ts.c
index e83410721e3..52abb98a8ae 100644
--- a/drivers/input/touchscreen/wm831x-ts.c
+++ b/drivers/input/touchscreen/wm831x-ts.c
@@ -221,7 +221,7 @@ static void wm831x_ts_input_close(struct input_dev *idev)
221 synchronize_irq(wm831x_ts->pd_irq); 221 synchronize_irq(wm831x_ts->pd_irq);
222 222
223 /* Make sure the IRQ completion work is quiesced */ 223 /* Make sure the IRQ completion work is quiesced */
224 flush_work_sync(&wm831x_ts->pd_data_work); 224 flush_work(&wm831x_ts->pd_data_work);
225 225
226 /* If we ended up with the pen down then make sure we revert back 226 /* If we ended up with the pen down then make sure we revert back
227 * to pen detection state for the next time we start up. 227 * to pen detection state for the next time we start up.
diff --git a/drivers/isdn/mISDN/hwchannel.c b/drivers/isdn/mISDN/hwchannel.c
index ef34fd40867..4b85f7279f1 100644
--- a/drivers/isdn/mISDN/hwchannel.c
+++ b/drivers/isdn/mISDN/hwchannel.c
@@ -116,7 +116,7 @@ mISDN_freedchannel(struct dchannel *ch)
116 } 116 }
117 skb_queue_purge(&ch->squeue); 117 skb_queue_purge(&ch->squeue);
118 skb_queue_purge(&ch->rqueue); 118 skb_queue_purge(&ch->rqueue);
119 flush_work_sync(&ch->workq); 119 flush_work(&ch->workq);
120 return 0; 120 return 0;
121} 121}
122EXPORT_SYMBOL(mISDN_freedchannel); 122EXPORT_SYMBOL(mISDN_freedchannel);
@@ -157,7 +157,7 @@ mISDN_freebchannel(struct bchannel *ch)
157 mISDN_clear_bchannel(ch); 157 mISDN_clear_bchannel(ch);
158 skb_queue_purge(&ch->rqueue); 158 skb_queue_purge(&ch->rqueue);
159 ch->rcount = 0; 159 ch->rcount = 0;
160 flush_work_sync(&ch->workq); 160 flush_work(&ch->workq);
161 return 0; 161 return 0;
162} 162}
163EXPORT_SYMBOL(mISDN_freebchannel); 163EXPORT_SYMBOL(mISDN_freebchannel);
diff --git a/drivers/leds/leds-lm3533.c b/drivers/leds/leds-lm3533.c
index f56b6e7ffda..f6837b99908 100644
--- a/drivers/leds/leds-lm3533.c
+++ b/drivers/leds/leds-lm3533.c
@@ -737,7 +737,7 @@ err_sysfs_remove:
737 sysfs_remove_group(&led->cdev.dev->kobj, &lm3533_led_attribute_group); 737 sysfs_remove_group(&led->cdev.dev->kobj, &lm3533_led_attribute_group);
738err_unregister: 738err_unregister:
739 led_classdev_unregister(&led->cdev); 739 led_classdev_unregister(&led->cdev);
740 flush_work_sync(&led->work); 740 flush_work(&led->work);
741 741
742 return ret; 742 return ret;
743} 743}
@@ -751,7 +751,7 @@ static int __devexit lm3533_led_remove(struct platform_device *pdev)
751 lm3533_ctrlbank_disable(&led->cb); 751 lm3533_ctrlbank_disable(&led->cb);
752 sysfs_remove_group(&led->cdev.dev->kobj, &lm3533_led_attribute_group); 752 sysfs_remove_group(&led->cdev.dev->kobj, &lm3533_led_attribute_group);
753 led_classdev_unregister(&led->cdev); 753 led_classdev_unregister(&led->cdev);
754 flush_work_sync(&led->work); 754 flush_work(&led->work);
755 755
756 return 0; 756 return 0;
757} 757}
@@ -765,7 +765,7 @@ static void lm3533_led_shutdown(struct platform_device *pdev)
765 765
766 lm3533_ctrlbank_disable(&led->cb); 766 lm3533_ctrlbank_disable(&led->cb);
767 lm3533_led_set(&led->cdev, LED_OFF); /* disable blink */ 767 lm3533_led_set(&led->cdev, LED_OFF); /* disable blink */
768 flush_work_sync(&led->work); 768 flush_work(&led->work);
769} 769}
770 770
771static struct platform_driver lm3533_led_driver = { 771static struct platform_driver lm3533_led_driver = {
diff --git a/drivers/leds/leds-lp8788.c b/drivers/leds/leds-lp8788.c
index 53bd136f1ef..cb76bc46a02 100644
--- a/drivers/leds/leds-lp8788.c
+++ b/drivers/leds/leds-lp8788.c
@@ -172,7 +172,7 @@ static int __devexit lp8788_led_remove(struct platform_device *pdev)
172 struct lp8788_led *led = platform_get_drvdata(pdev); 172 struct lp8788_led *led = platform_get_drvdata(pdev);
173 173
174 led_classdev_unregister(&led->led_dev); 174 led_classdev_unregister(&led->led_dev);
175 flush_work_sync(&led->work); 175 flush_work(&led->work);
176 176
177 return 0; 177 return 0;
178} 178}
diff --git a/drivers/leds/leds-wm8350.c b/drivers/leds/leds-wm8350.c
index 918d4baff1c..4c62113f7a7 100644
--- a/drivers/leds/leds-wm8350.c
+++ b/drivers/leds/leds-wm8350.c
@@ -275,7 +275,7 @@ static int wm8350_led_remove(struct platform_device *pdev)
275 struct wm8350_led *led = platform_get_drvdata(pdev); 275 struct wm8350_led *led = platform_get_drvdata(pdev);
276 276
277 led_classdev_unregister(&led->cdev); 277 led_classdev_unregister(&led->cdev);
278 flush_work_sync(&led->work); 278 flush_work(&led->work);
279 wm8350_led_disable(led); 279 wm8350_led_disable(led);
280 regulator_put(led->dcdc); 280 regulator_put(led->dcdc);
281 regulator_put(led->isink); 281 regulator_put(led->isink);
diff --git a/drivers/macintosh/ams/ams-core.c b/drivers/macintosh/ams/ams-core.c
index 5c6a2d87656..36a4fdddd64 100644
--- a/drivers/macintosh/ams/ams-core.c
+++ b/drivers/macintosh/ams/ams-core.c
@@ -226,7 +226,7 @@ void ams_sensor_detach(void)
226 * We do this after ams_info.exit(), because an interrupt might 226 * We do this after ams_info.exit(), because an interrupt might
227 * have arrived before disabling them. 227 * have arrived before disabling them.
228 */ 228 */
229 flush_work_sync(&ams_info.worker); 229 flush_work(&ams_info.worker);
230 230
231 /* Remove device */ 231 /* Remove device */
232 of_device_unregister(ams_info.of_dev); 232 of_device_unregister(ams_info.of_dev);
diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
index d8abb90a6c2..bb18eafcc85 100644
--- a/drivers/md/dm-mpath.c
+++ b/drivers/md/dm-mpath.c
@@ -944,7 +944,7 @@ static void flush_multipath_work(struct multipath *m)
944 flush_workqueue(kmpath_handlerd); 944 flush_workqueue(kmpath_handlerd);
945 multipath_wait_for_pg_init_completion(m); 945 multipath_wait_for_pg_init_completion(m);
946 flush_workqueue(kmultipathd); 946 flush_workqueue(kmultipathd);
947 flush_work_sync(&m->trigger_event); 947 flush_work(&m->trigger_event);
948} 948}
949 949
950static void multipath_dtr(struct dm_target *ti) 950static void multipath_dtr(struct dm_target *ti)
diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c
index bc5ddba8045..fd61f98ee1f 100644
--- a/drivers/md/dm-raid1.c
+++ b/drivers/md/dm-raid1.c
@@ -1146,7 +1146,7 @@ static void mirror_dtr(struct dm_target *ti)
1146 1146
1147 del_timer_sync(&ms->timer); 1147 del_timer_sync(&ms->timer);
1148 flush_workqueue(ms->kmirrord_wq); 1148 flush_workqueue(ms->kmirrord_wq);
1149 flush_work_sync(&ms->trigger_event); 1149 flush_work(&ms->trigger_event);
1150 dm_kcopyd_client_destroy(ms->kcopyd_client); 1150 dm_kcopyd_client_destroy(ms->kcopyd_client);
1151 destroy_workqueue(ms->kmirrord_wq); 1151 destroy_workqueue(ms->kmirrord_wq);
1152 free_context(ms, ti, ms->nr_mirrors); 1152 free_context(ms, ti, ms->nr_mirrors);
diff --git a/drivers/md/dm-stripe.c b/drivers/md/dm-stripe.c
index a087bf2a8d6..e2f87653974 100644
--- a/drivers/md/dm-stripe.c
+++ b/drivers/md/dm-stripe.c
@@ -199,7 +199,7 @@ static void stripe_dtr(struct dm_target *ti)
199 for (i = 0; i < sc->stripes; i++) 199 for (i = 0; i < sc->stripes; i++)
200 dm_put_device(ti, sc->stripe[i].dev); 200 dm_put_device(ti, sc->stripe[i].dev);
201 201
202 flush_work_sync(&sc->trigger_event); 202 flush_work(&sc->trigger_event);
203 kfree(sc); 203 kfree(sc);
204} 204}
205 205
diff --git a/drivers/media/dvb/dvb-core/dvb_net.c b/drivers/media/dvb/dvb-core/dvb_net.c
index 8766ce8c354..c2117688aa2 100644
--- a/drivers/media/dvb/dvb-core/dvb_net.c
+++ b/drivers/media/dvb/dvb-core/dvb_net.c
@@ -1329,8 +1329,8 @@ static int dvb_net_remove_if(struct dvb_net *dvbnet, unsigned long num)
1329 return -EBUSY; 1329 return -EBUSY;
1330 1330
1331 dvb_net_stop(net); 1331 dvb_net_stop(net);
1332 flush_work_sync(&priv->set_multicast_list_wq); 1332 flush_work(&priv->set_multicast_list_wq);
1333 flush_work_sync(&priv->restart_net_feed_wq); 1333 flush_work(&priv->restart_net_feed_wq);
1334 printk("dvb_net: removed network interface %s\n", net->name); 1334 printk("dvb_net: removed network interface %s\n", net->name);
1335 unregister_netdev(net); 1335 unregister_netdev(net);
1336 dvbnet->state[num]=0; 1336 dvbnet->state[num]=0;
diff --git a/drivers/media/dvb/mantis/mantis_evm.c b/drivers/media/dvb/mantis/mantis_evm.c
index 71ce52875c3..909ff54868a 100644
--- a/drivers/media/dvb/mantis/mantis_evm.c
+++ b/drivers/media/dvb/mantis/mantis_evm.c
@@ -111,7 +111,7 @@ void mantis_evmgr_exit(struct mantis_ca *ca)
111 struct mantis_pci *mantis = ca->ca_priv; 111 struct mantis_pci *mantis = ca->ca_priv;
112 112
113 dprintk(MANTIS_DEBUG, 1, "Mantis Host I/F Event manager exiting"); 113 dprintk(MANTIS_DEBUG, 1, "Mantis Host I/F Event manager exiting");
114 flush_work_sync(&ca->hif_evm_work); 114 flush_work(&ca->hif_evm_work);
115 mantis_hif_exit(ca); 115 mantis_hif_exit(ca);
116 mantis_pcmcia_exit(ca); 116 mantis_pcmcia_exit(ca);
117} 117}
diff --git a/drivers/media/dvb/mantis/mantis_uart.c b/drivers/media/dvb/mantis/mantis_uart.c
index 18340dafa42..85e977861b4 100644
--- a/drivers/media/dvb/mantis/mantis_uart.c
+++ b/drivers/media/dvb/mantis/mantis_uart.c
@@ -183,6 +183,6 @@ void mantis_uart_exit(struct mantis_pci *mantis)
183{ 183{
184 /* disable interrupt */ 184 /* disable interrupt */
185 mmwrite(mmread(MANTIS_UART_CTL) & 0xffef, MANTIS_UART_CTL); 185 mmwrite(mmread(MANTIS_UART_CTL) & 0xffef, MANTIS_UART_CTL);
186 flush_work_sync(&mantis->uart_work); 186 flush_work(&mantis->uart_work);
187} 187}
188EXPORT_SYMBOL_GPL(mantis_uart_exit); 188EXPORT_SYMBOL_GPL(mantis_uart_exit);
diff --git a/drivers/media/video/bt8xx/bttv-driver.c b/drivers/media/video/bt8xx/bttv-driver.c
index b58ff87db77..2ce7179a386 100644
--- a/drivers/media/video/bt8xx/bttv-driver.c
+++ b/drivers/media/video/bt8xx/bttv-driver.c
@@ -196,7 +196,7 @@ static void request_modules(struct bttv *dev)
196 196
197static void flush_request_modules(struct bttv *dev) 197static void flush_request_modules(struct bttv *dev)
198{ 198{
199 flush_work_sync(&dev->request_module_wk); 199 flush_work(&dev->request_module_wk);
200} 200}
201#else 201#else
202#define request_modules(dev) 202#define request_modules(dev)
diff --git a/drivers/media/video/cx18/cx18-driver.c b/drivers/media/video/cx18/cx18-driver.c
index 7e5ffd6f517..75c89090792 100644
--- a/drivers/media/video/cx18/cx18-driver.c
+++ b/drivers/media/video/cx18/cx18-driver.c
@@ -272,7 +272,7 @@ static void request_modules(struct cx18 *dev)
272 272
273static void flush_request_modules(struct cx18 *dev) 273static void flush_request_modules(struct cx18 *dev)
274{ 274{
275 flush_work_sync(&dev->request_module_wk); 275 flush_work(&dev->request_module_wk);
276} 276}
277#else 277#else
278#define request_modules(dev) 278#define request_modules(dev)
diff --git a/drivers/media/video/cx231xx/cx231xx-cards.c b/drivers/media/video/cx231xx/cx231xx-cards.c
index 02d4d36735d..b84ebc54d91 100644
--- a/drivers/media/video/cx231xx/cx231xx-cards.c
+++ b/drivers/media/video/cx231xx/cx231xx-cards.c
@@ -1002,7 +1002,7 @@ static void request_modules(struct cx231xx *dev)
1002 1002
1003static void flush_request_modules(struct cx231xx *dev) 1003static void flush_request_modules(struct cx231xx *dev)
1004{ 1004{
1005 flush_work_sync(&dev->request_module_wk); 1005 flush_work(&dev->request_module_wk);
1006} 1006}
1007#else 1007#else
1008#define request_modules(dev) 1008#define request_modules(dev)
diff --git a/drivers/media/video/cx23885/cx23885-input.c b/drivers/media/video/cx23885/cx23885-input.c
index ce765e3f77b..bcbf7faf1ba 100644
--- a/drivers/media/video/cx23885/cx23885-input.c
+++ b/drivers/media/video/cx23885/cx23885-input.c
@@ -231,9 +231,9 @@ static void cx23885_input_ir_stop(struct cx23885_dev *dev)
231 v4l2_subdev_call(dev->sd_ir, ir, rx_s_parameters, &params); 231 v4l2_subdev_call(dev->sd_ir, ir, rx_s_parameters, &params);
232 v4l2_subdev_call(dev->sd_ir, ir, rx_g_parameters, &params); 232 v4l2_subdev_call(dev->sd_ir, ir, rx_g_parameters, &params);
233 } 233 }
234 flush_work_sync(&dev->cx25840_work); 234 flush_work(&dev->cx25840_work);
235 flush_work_sync(&dev->ir_rx_work); 235 flush_work(&dev->ir_rx_work);
236 flush_work_sync(&dev->ir_tx_work); 236 flush_work(&dev->ir_tx_work);
237} 237}
238 238
239static void cx23885_input_ir_close(struct rc_dev *rc) 239static void cx23885_input_ir_close(struct rc_dev *rc)
diff --git a/drivers/media/video/cx88/cx88-mpeg.c b/drivers/media/video/cx88/cx88-mpeg.c
index cd5386ee210..c04fb618e10 100644
--- a/drivers/media/video/cx88/cx88-mpeg.c
+++ b/drivers/media/video/cx88/cx88-mpeg.c
@@ -70,7 +70,7 @@ static void request_modules(struct cx8802_dev *dev)
70 70
71static void flush_request_modules(struct cx8802_dev *dev) 71static void flush_request_modules(struct cx8802_dev *dev)
72{ 72{
73 flush_work_sync(&dev->request_module_wk); 73 flush_work(&dev->request_module_wk);
74} 74}
75#else 75#else
76#define request_modules(dev) 76#define request_modules(dev)
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index ca62b998138..f7831e73f07 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -2900,7 +2900,7 @@ static void request_modules(struct em28xx *dev)
2900 2900
2901static void flush_request_modules(struct em28xx *dev) 2901static void flush_request_modules(struct em28xx *dev)
2902{ 2902{
2903 flush_work_sync(&dev->request_module_wk); 2903 flush_work(&dev->request_module_wk);
2904} 2904}
2905#else 2905#else
2906#define request_modules(dev) 2906#define request_modules(dev)
diff --git a/drivers/media/video/omap24xxcam.c b/drivers/media/video/omap24xxcam.c
index e5015b0d550..8d7283bbd43 100644
--- a/drivers/media/video/omap24xxcam.c
+++ b/drivers/media/video/omap24xxcam.c
@@ -1198,7 +1198,7 @@ static int vidioc_streamoff(struct file *file, void *fh, enum v4l2_buf_type i)
1198 1198
1199 atomic_inc(&cam->reset_disable); 1199 atomic_inc(&cam->reset_disable);
1200 1200
1201 flush_work_sync(&cam->sensor_reset_work); 1201 flush_work(&cam->sensor_reset_work);
1202 1202
1203 rval = videobuf_streamoff(q); 1203 rval = videobuf_streamoff(q);
1204 if (!rval) { 1204 if (!rval) {
@@ -1512,7 +1512,7 @@ static int omap24xxcam_release(struct file *file)
1512 1512
1513 atomic_inc(&cam->reset_disable); 1513 atomic_inc(&cam->reset_disable);
1514 1514
1515 flush_work_sync(&cam->sensor_reset_work); 1515 flush_work(&cam->sensor_reset_work);
1516 1516
1517 /* stop streaming capture */ 1517 /* stop streaming capture */
1518 videobuf_streamoff(&fh->vbq); 1518 videobuf_streamoff(&fh->vbq);
@@ -1536,7 +1536,7 @@ static int omap24xxcam_release(struct file *file)
1536 * not be scheduled anymore since streaming is already 1536 * not be scheduled anymore since streaming is already
1537 * disabled.) 1537 * disabled.)
1538 */ 1538 */
1539 flush_work_sync(&cam->sensor_reset_work); 1539 flush_work(&cam->sensor_reset_work);
1540 1540
1541 mutex_lock(&cam->mutex); 1541 mutex_lock(&cam->mutex);
1542 if (atomic_dec_return(&cam->users) == 0) { 1542 if (atomic_dec_return(&cam->users) == 0) {
diff --git a/drivers/media/video/saa7134/saa7134-core.c b/drivers/media/video/saa7134/saa7134-core.c
index 5fbb4e49495..f2b37e05b96 100644
--- a/drivers/media/video/saa7134/saa7134-core.c
+++ b/drivers/media/video/saa7134/saa7134-core.c
@@ -170,7 +170,7 @@ static void request_submodules(struct saa7134_dev *dev)
170 170
171static void flush_request_submodules(struct saa7134_dev *dev) 171static void flush_request_submodules(struct saa7134_dev *dev)
172{ 172{
173 flush_work_sync(&dev->request_module_wk); 173 flush_work(&dev->request_module_wk);
174} 174}
175 175
176#else 176#else
diff --git a/drivers/media/video/saa7134/saa7134-empress.c b/drivers/media/video/saa7134/saa7134-empress.c
index dde361a9194..4df79c65690 100644
--- a/drivers/media/video/saa7134/saa7134-empress.c
+++ b/drivers/media/video/saa7134/saa7134-empress.c
@@ -556,7 +556,7 @@ static int empress_fini(struct saa7134_dev *dev)
556 556
557 if (NULL == dev->empress_dev) 557 if (NULL == dev->empress_dev)
558 return 0; 558 return 0;
559 flush_work_sync(&dev->empress_workqueue); 559 flush_work(&dev->empress_workqueue);
560 video_unregister_device(dev->empress_dev); 560 video_unregister_device(dev->empress_dev);
561 dev->empress_dev = NULL; 561 dev->empress_dev = NULL;
562 return 0; 562 return 0;
diff --git a/drivers/media/video/tm6000/tm6000-cards.c b/drivers/media/video/tm6000/tm6000-cards.c
index 034659b1317..307d8c5fb7c 100644
--- a/drivers/media/video/tm6000/tm6000-cards.c
+++ b/drivers/media/video/tm6000/tm6000-cards.c
@@ -1074,7 +1074,7 @@ static void request_modules(struct tm6000_core *dev)
1074 1074
1075static void flush_request_modules(struct tm6000_core *dev) 1075static void flush_request_modules(struct tm6000_core *dev)
1076{ 1076{
1077 flush_work_sync(&dev->request_module_wk); 1077 flush_work(&dev->request_module_wk);
1078} 1078}
1079#else 1079#else
1080#define request_modules(dev) 1080#define request_modules(dev)
diff --git a/drivers/mfd/menelaus.c b/drivers/mfd/menelaus.c
index cb4910ac4d1..55d58998141 100644
--- a/drivers/mfd/menelaus.c
+++ b/drivers/mfd/menelaus.c
@@ -1259,7 +1259,7 @@ static int menelaus_probe(struct i2c_client *client,
1259 return 0; 1259 return 0;
1260fail2: 1260fail2:
1261 free_irq(client->irq, menelaus); 1261 free_irq(client->irq, menelaus);
1262 flush_work_sync(&menelaus->work); 1262 flush_work(&menelaus->work);
1263fail1: 1263fail1:
1264 kfree(menelaus); 1264 kfree(menelaus);
1265 return err; 1265 return err;
@@ -1270,7 +1270,7 @@ static int __exit menelaus_remove(struct i2c_client *client)
1270 struct menelaus_chip *menelaus = i2c_get_clientdata(client); 1270 struct menelaus_chip *menelaus = i2c_get_clientdata(client);
1271 1271
1272 free_irq(client->irq, menelaus); 1272 free_irq(client->irq, menelaus);
1273 flush_work_sync(&menelaus->work); 1273 flush_work(&menelaus->work);
1274 kfree(menelaus); 1274 kfree(menelaus);
1275 the_menelaus = NULL; 1275 the_menelaus = NULL;
1276 return 0; 1276 return 0;
diff --git a/drivers/misc/ioc4.c b/drivers/misc/ioc4.c
index df03dd3bd0e..6a7710603a9 100644
--- a/drivers/misc/ioc4.c
+++ b/drivers/misc/ioc4.c
@@ -487,7 +487,7 @@ static void __exit
487ioc4_exit(void) 487ioc4_exit(void)
488{ 488{
489 /* Ensure ioc4_load_modules() has completed before exiting */ 489 /* Ensure ioc4_load_modules() has completed before exiting */
490 flush_work_sync(&ioc4_load_modules_work); 490 flush_work(&ioc4_load_modules_work);
491 pci_unregister_driver(&ioc4_driver); 491 pci_unregister_driver(&ioc4_driver);
492} 492}
493 493
diff --git a/drivers/mtd/mtdoops.c b/drivers/mtd/mtdoops.c
index 551e316e445..438737a1f59 100644
--- a/drivers/mtd/mtdoops.c
+++ b/drivers/mtd/mtdoops.c
@@ -387,8 +387,8 @@ static void mtdoops_notify_remove(struct mtd_info *mtd)
387 printk(KERN_WARNING "mtdoops: could not unregister kmsg_dumper\n"); 387 printk(KERN_WARNING "mtdoops: could not unregister kmsg_dumper\n");
388 388
389 cxt->mtd = NULL; 389 cxt->mtd = NULL;
390 flush_work_sync(&cxt->work_erase); 390 flush_work(&cxt->work_erase);
391 flush_work_sync(&cxt->work_write); 391 flush_work(&cxt->work_write);
392} 392}
393 393
394 394
diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
index 6505070abcf..089ed134369 100644
--- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
@@ -1394,7 +1394,7 @@ static int offload_close(struct t3cdev *tdev)
1394 sysfs_remove_group(&tdev->lldev->dev.kobj, &offload_attr_group); 1394 sysfs_remove_group(&tdev->lldev->dev.kobj, &offload_attr_group);
1395 1395
1396 /* Flush work scheduled while releasing TIDs */ 1396 /* Flush work scheduled while releasing TIDs */
1397 flush_work_sync(&td->tid_release_task); 1397 flush_work(&td->tid_release_task);
1398 1398
1399 tdev->lldev = NULL; 1399 tdev->lldev = NULL;
1400 cxgb3_set_dummy_ops(tdev); 1400 cxgb3_set_dummy_ops(tdev);
diff --git a/drivers/net/ethernet/neterion/vxge/vxge-main.c b/drivers/net/ethernet/neterion/vxge/vxge-main.c
index de219044351..30ce10bc914 100644
--- a/drivers/net/ethernet/neterion/vxge/vxge-main.c
+++ b/drivers/net/ethernet/neterion/vxge/vxge-main.c
@@ -3521,7 +3521,7 @@ static void vxge_device_unregister(struct __vxge_hw_device *hldev)
3521 3521
3522 strncpy(buf, dev->name, IFNAMSIZ); 3522 strncpy(buf, dev->name, IFNAMSIZ);
3523 3523
3524 flush_work_sync(&vdev->reset_task); 3524 flush_work(&vdev->reset_task);
3525 3525
3526 /* in 2.6 will call stop() if device is up */ 3526 /* in 2.6 will call stop() if device is up */
3527 unregister_netdev(dev); 3527 unregister_netdev(dev);
diff --git a/drivers/net/ethernet/sun/cassini.c b/drivers/net/ethernet/sun/cassini.c
index ce4df61b4b5..c8251be104d 100644
--- a/drivers/net/ethernet/sun/cassini.c
+++ b/drivers/net/ethernet/sun/cassini.c
@@ -3890,7 +3890,7 @@ static int cas_change_mtu(struct net_device *dev, int new_mtu)
3890 schedule_work(&cp->reset_task); 3890 schedule_work(&cp->reset_task);
3891#endif 3891#endif
3892 3892
3893 flush_work_sync(&cp->reset_task); 3893 flush_work(&cp->reset_task);
3894 return 0; 3894 return 0;
3895} 3895}
3896 3896
diff --git a/drivers/net/ethernet/sun/niu.c b/drivers/net/ethernet/sun/niu.c
index c2a0fe39326..710f3539519 100644
--- a/drivers/net/ethernet/sun/niu.c
+++ b/drivers/net/ethernet/sun/niu.c
@@ -9932,7 +9932,7 @@ static int niu_suspend(struct pci_dev *pdev, pm_message_t state)
9932 if (!netif_running(dev)) 9932 if (!netif_running(dev))
9933 return 0; 9933 return 0;
9934 9934
9935 flush_work_sync(&np->reset_task); 9935 flush_work(&np->reset_task);
9936 niu_netif_stop(np); 9936 niu_netif_stop(np);
9937 9937
9938 del_timer_sync(&np->timer); 9938 del_timer_sync(&np->timer);
diff --git a/drivers/net/wireless/hostap/hostap_ap.c b/drivers/net/wireless/hostap/hostap_ap.c
index e1f41027724..c6ea995750d 100644
--- a/drivers/net/wireless/hostap/hostap_ap.c
+++ b/drivers/net/wireless/hostap/hostap_ap.c
@@ -860,10 +860,10 @@ void hostap_free_data(struct ap_data *ap)
860 return; 860 return;
861 } 861 }
862 862
863 flush_work_sync(&ap->add_sta_proc_queue); 863 flush_work(&ap->add_sta_proc_queue);
864 864
865#ifndef PRISM2_NO_KERNEL_IEEE80211_MGMT 865#ifndef PRISM2_NO_KERNEL_IEEE80211_MGMT
866 flush_work_sync(&ap->wds_oper_queue); 866 flush_work(&ap->wds_oper_queue);
867 if (ap->crypt) 867 if (ap->crypt)
868 ap->crypt->deinit(ap->crypt_priv); 868 ap->crypt->deinit(ap->crypt_priv);
869 ap->crypt = ap->crypt_priv = NULL; 869 ap->crypt = ap->crypt_priv = NULL;
diff --git a/drivers/net/wireless/hostap/hostap_hw.c b/drivers/net/wireless/hostap/hostap_hw.c
index 50f87b60b0b..8e7000fd441 100644
--- a/drivers/net/wireless/hostap/hostap_hw.c
+++ b/drivers/net/wireless/hostap/hostap_hw.c
@@ -3311,13 +3311,13 @@ static void prism2_free_local_data(struct net_device *dev)
3311 3311
3312 unregister_netdev(local->dev); 3312 unregister_netdev(local->dev);
3313 3313
3314 flush_work_sync(&local->reset_queue); 3314 flush_work(&local->reset_queue);
3315 flush_work_sync(&local->set_multicast_list_queue); 3315 flush_work(&local->set_multicast_list_queue);
3316 flush_work_sync(&local->set_tim_queue); 3316 flush_work(&local->set_tim_queue);
3317#ifndef PRISM2_NO_STATION_MODES 3317#ifndef PRISM2_NO_STATION_MODES
3318 flush_work_sync(&local->info_queue); 3318 flush_work(&local->info_queue);
3319#endif 3319#endif
3320 flush_work_sync(&local->comms_qual_update); 3320 flush_work(&local->comms_qual_update);
3321 3321
3322 lib80211_crypt_info_free(&local->crypt_info); 3322 lib80211_crypt_info_free(&local->crypt_info);
3323 3323
diff --git a/drivers/power/collie_battery.c b/drivers/power/collie_battery.c
index 74c6b23aeab..b19bfe400f8 100644
--- a/drivers/power/collie_battery.c
+++ b/drivers/power/collie_battery.c
@@ -290,7 +290,7 @@ static struct gpio collie_batt_gpios[] = {
290static int collie_bat_suspend(struct ucb1x00_dev *dev, pm_message_t state) 290static int collie_bat_suspend(struct ucb1x00_dev *dev, pm_message_t state)
291{ 291{
292 /* flush all pending status updates */ 292 /* flush all pending status updates */
293 flush_work_sync(&bat_work); 293 flush_work(&bat_work);
294 return 0; 294 return 0;
295} 295}
296 296
diff --git a/drivers/power/tosa_battery.c b/drivers/power/tosa_battery.c
index 28bbe7e094e..51199b5ce22 100644
--- a/drivers/power/tosa_battery.c
+++ b/drivers/power/tosa_battery.c
@@ -327,7 +327,7 @@ static struct gpio tosa_bat_gpios[] = {
327static int tosa_bat_suspend(struct platform_device *dev, pm_message_t state) 327static int tosa_bat_suspend(struct platform_device *dev, pm_message_t state)
328{ 328{
329 /* flush all pending status updates */ 329 /* flush all pending status updates */
330 flush_work_sync(&bat_work); 330 flush_work(&bat_work);
331 return 0; 331 return 0;
332} 332}
333 333
diff --git a/drivers/power/wm97xx_battery.c b/drivers/power/wm97xx_battery.c
index d2d4c08c681..1245fe1f48c 100644
--- a/drivers/power/wm97xx_battery.c
+++ b/drivers/power/wm97xx_battery.c
@@ -146,7 +146,7 @@ static irqreturn_t wm97xx_chrg_irq(int irq, void *data)
146#ifdef CONFIG_PM 146#ifdef CONFIG_PM
147static int wm97xx_bat_suspend(struct device *dev) 147static int wm97xx_bat_suspend(struct device *dev)
148{ 148{
149 flush_work_sync(&bat_work); 149 flush_work(&bat_work);
150 return 0; 150 return 0;
151} 151}
152 152
diff --git a/drivers/power/z2_battery.c b/drivers/power/z2_battery.c
index 8c9a607ea77..5757d0d6782 100644
--- a/drivers/power/z2_battery.c
+++ b/drivers/power/z2_battery.c
@@ -276,7 +276,7 @@ static int z2_batt_suspend(struct device *dev)
276 struct i2c_client *client = to_i2c_client(dev); 276 struct i2c_client *client = to_i2c_client(dev);
277 struct z2_charger *charger = i2c_get_clientdata(client); 277 struct z2_charger *charger = i2c_get_clientdata(client);
278 278
279 flush_work_sync(&charger->bat_work); 279 flush_work(&charger->bat_work);
280 return 0; 280 return 0;
281} 281}
282 282
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index f092588a078..1d2b70017a8 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -3335,7 +3335,7 @@ void regulator_unregister(struct regulator_dev *rdev)
3335 regulator_put(rdev->supply); 3335 regulator_put(rdev->supply);
3336 mutex_lock(&regulator_list_mutex); 3336 mutex_lock(&regulator_list_mutex);
3337 debugfs_remove_recursive(rdev->debugfs); 3337 debugfs_remove_recursive(rdev->debugfs);
3338 flush_work_sync(&rdev->disable_work.work); 3338 flush_work(&rdev->disable_work.work);
3339 WARN_ON(rdev->open_count); 3339 WARN_ON(rdev->open_count);
3340 unset_regulator_supplies(rdev); 3340 unset_regulator_supplies(rdev);
3341 list_del(&rdev->list); 3341 list_del(&rdev->list);
diff --git a/drivers/scsi/arcmsr/arcmsr_hba.c b/drivers/scsi/arcmsr/arcmsr_hba.c
index def24a1079a..33c52bc2c7b 100644
--- a/drivers/scsi/arcmsr/arcmsr_hba.c
+++ b/drivers/scsi/arcmsr/arcmsr_hba.c
@@ -999,7 +999,7 @@ static void arcmsr_remove(struct pci_dev *pdev)
999 int poll_count = 0; 999 int poll_count = 0;
1000 arcmsr_free_sysfs_attr(acb); 1000 arcmsr_free_sysfs_attr(acb);
1001 scsi_remove_host(host); 1001 scsi_remove_host(host);
1002 flush_work_sync(&acb->arcmsr_do_message_isr_bh); 1002 flush_work(&acb->arcmsr_do_message_isr_bh);
1003 del_timer_sync(&acb->eternal_timer); 1003 del_timer_sync(&acb->eternal_timer);
1004 arcmsr_disable_outbound_ints(acb); 1004 arcmsr_disable_outbound_ints(acb);
1005 arcmsr_stop_adapter_bgrb(acb); 1005 arcmsr_stop_adapter_bgrb(acb);
@@ -1045,7 +1045,7 @@ static void arcmsr_shutdown(struct pci_dev *pdev)
1045 (struct AdapterControlBlock *)host->hostdata; 1045 (struct AdapterControlBlock *)host->hostdata;
1046 del_timer_sync(&acb->eternal_timer); 1046 del_timer_sync(&acb->eternal_timer);
1047 arcmsr_disable_outbound_ints(acb); 1047 arcmsr_disable_outbound_ints(acb);
1048 flush_work_sync(&acb->arcmsr_do_message_isr_bh); 1048 flush_work(&acb->arcmsr_do_message_isr_bh);
1049 arcmsr_stop_adapter_bgrb(acb); 1049 arcmsr_stop_adapter_bgrb(acb);
1050 arcmsr_flush_adapter_cache(acb); 1050 arcmsr_flush_adapter_cache(acb);
1051} 1051}
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index 467dc38246f..2ffeb9afd1b 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -9020,7 +9020,7 @@ static void __ipr_remove(struct pci_dev *pdev)
9020 9020
9021 spin_unlock_irqrestore(ioa_cfg->host->host_lock, host_lock_flags); 9021 spin_unlock_irqrestore(ioa_cfg->host->host_lock, host_lock_flags);
9022 wait_event(ioa_cfg->reset_wait_q, !ioa_cfg->in_reset_reload); 9022 wait_event(ioa_cfg->reset_wait_q, !ioa_cfg->in_reset_reload);
9023 flush_work_sync(&ioa_cfg->work_q); 9023 flush_work(&ioa_cfg->work_q);
9024 spin_lock_irqsave(ioa_cfg->host->host_lock, host_lock_flags); 9024 spin_lock_irqsave(ioa_cfg->host->host_lock, host_lock_flags);
9025 9025
9026 spin_lock(&ipr_driver_lock); 9026 spin_lock(&ipr_driver_lock);
diff --git a/drivers/scsi/pmcraid.c b/drivers/scsi/pmcraid.c
index ea8a0b47d66..af763eab203 100644
--- a/drivers/scsi/pmcraid.c
+++ b/drivers/scsi/pmcraid.c
@@ -5459,7 +5459,7 @@ static void __devexit pmcraid_remove(struct pci_dev *pdev)
5459 pmcraid_shutdown(pdev); 5459 pmcraid_shutdown(pdev);
5460 5460
5461 pmcraid_disable_interrupts(pinstance, ~0); 5461 pmcraid_disable_interrupts(pinstance, ~0);
5462 flush_work_sync(&pinstance->worker_q); 5462 flush_work(&pinstance->worker_q);
5463 5463
5464 pmcraid_kill_tasklets(pinstance); 5464 pmcraid_kill_tasklets(pinstance);
5465 pmcraid_unregister_interrupt_handler(pinstance); 5465 pmcraid_unregister_interrupt_handler(pinstance);
diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c
index 5b30132960c..bddc97c5c8e 100644
--- a/drivers/scsi/qla2xxx/qla_target.c
+++ b/drivers/scsi/qla2xxx/qla_target.c
@@ -969,7 +969,7 @@ void qlt_stop_phase1(struct qla_tgt *tgt)
969 spin_unlock_irqrestore(&ha->hardware_lock, flags); 969 spin_unlock_irqrestore(&ha->hardware_lock, flags);
970 mutex_unlock(&ha->tgt.tgt_mutex); 970 mutex_unlock(&ha->tgt.tgt_mutex);
971 971
972 flush_delayed_work_sync(&tgt->sess_del_work); 972 flush_delayed_work(&tgt->sess_del_work);
973 973
974 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf009, 974 ql_dbg(ql_dbg_tgt_mgt, vha, 0xf009,
975 "Waiting for sess works (tgt %p)", tgt); 975 "Waiting for sess works (tgt %p)", tgt);
diff --git a/drivers/tty/hvc/hvsi.c b/drivers/tty/hvc/hvsi.c
index 6f5bc49c441..1f8e8b37ed2 100644
--- a/drivers/tty/hvc/hvsi.c
+++ b/drivers/tty/hvc/hvsi.c
@@ -765,7 +765,7 @@ static void hvsi_flush_output(struct hvsi_struct *hp)
765 765
766 /* 'writer' could still be pending if it didn't see n_outbuf = 0 yet */ 766 /* 'writer' could still be pending if it didn't see n_outbuf = 0 yet */
767 cancel_delayed_work_sync(&hp->writer); 767 cancel_delayed_work_sync(&hp->writer);
768 flush_work_sync(&hp->handshaker); 768 flush_work(&hp->handshaker);
769 769
770 /* 770 /*
771 * it's also possible that our timeout expired and hvsi_write_worker 771 * it's also possible that our timeout expired and hvsi_write_worker
diff --git a/drivers/tty/ipwireless/hardware.c b/drivers/tty/ipwireless/hardware.c
index 0aeb5a38d29..b4ba0670dc5 100644
--- a/drivers/tty/ipwireless/hardware.c
+++ b/drivers/tty/ipwireless/hardware.c
@@ -1729,7 +1729,7 @@ void ipwireless_hardware_free(struct ipw_hardware *hw)
1729 1729
1730 ipwireless_stop_interrupts(hw); 1730 ipwireless_stop_interrupts(hw);
1731 1731
1732 flush_work_sync(&hw->work_rx); 1732 flush_work(&hw->work_rx);
1733 1733
1734 for (i = 0; i < NL_NUM_OF_ADDRESSES; i++) 1734 for (i = 0; i < NL_NUM_OF_ADDRESSES; i++)
1735 if (hw->packet_assembler[i] != NULL) 1735 if (hw->packet_assembler[i] != NULL)
diff --git a/drivers/tty/ipwireless/network.c b/drivers/tty/ipwireless/network.c
index 57c8b481113..90ea902ff19 100644
--- a/drivers/tty/ipwireless/network.c
+++ b/drivers/tty/ipwireless/network.c
@@ -430,8 +430,8 @@ void ipwireless_network_free(struct ipw_network *network)
430 network->shutting_down = 1; 430 network->shutting_down = 1;
431 431
432 ipwireless_ppp_close(network); 432 ipwireless_ppp_close(network);
433 flush_work_sync(&network->work_go_online); 433 flush_work(&network->work_go_online);
434 flush_work_sync(&network->work_go_offline); 434 flush_work(&network->work_go_offline);
435 435
436 ipwireless_stop_interrupts(network->hardware); 436 ipwireless_stop_interrupts(network->hardware);
437 ipwireless_associate_network(network->hardware, NULL); 437 ipwireless_associate_network(network->hardware, NULL);
diff --git a/drivers/tty/serial/kgdboc.c b/drivers/tty/serial/kgdboc.c
index 2b42a01a81c..ebabf929f46 100644
--- a/drivers/tty/serial/kgdboc.c
+++ b/drivers/tty/serial/kgdboc.c
@@ -122,7 +122,7 @@ static void kgdboc_unregister_kbd(void)
122 i--; 122 i--;
123 } 123 }
124 } 124 }
125 flush_work_sync(&kgdboc_restore_input_work); 125 flush_work(&kgdboc_restore_input_work);
126} 126}
127#else /* ! CONFIG_KDB_KEYBOARD */ 127#else /* ! CONFIG_KDB_KEYBOARD */
128#define kgdboc_register_kbd(x) 0 128#define kgdboc_register_kbd(x) 0
diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
index d3cda0cb2df..0952d71bdf2 100644
--- a/drivers/tty/serial/omap-serial.c
+++ b/drivers/tty/serial/omap-serial.c
@@ -1205,7 +1205,7 @@ static int serial_omap_suspend(struct device *dev)
1205 1205
1206 if (up) { 1206 if (up) {
1207 uart_suspend_port(&serial_omap_reg, &up->port); 1207 uart_suspend_port(&serial_omap_reg, &up->port);
1208 flush_work_sync(&up->qos_work); 1208 flush_work(&up->qos_work);
1209 } 1209 }
1210 1210
1211 return 0; 1211 return 0;
diff --git a/drivers/tty/tty_ldisc.c b/drivers/tty/tty_ldisc.c
index 6f99c9959f0..ac5be812dbe 100644
--- a/drivers/tty/tty_ldisc.c
+++ b/drivers/tty/tty_ldisc.c
@@ -523,9 +523,9 @@ static int tty_ldisc_halt(struct tty_struct *tty)
523 */ 523 */
524static void tty_ldisc_flush_works(struct tty_struct *tty) 524static void tty_ldisc_flush_works(struct tty_struct *tty)
525{ 525{
526 flush_work_sync(&tty->hangup_work); 526 flush_work(&tty->hangup_work);
527 flush_work_sync(&tty->SAK_work); 527 flush_work(&tty->SAK_work);
528 flush_work_sync(&tty->buf.work); 528 flush_work(&tty->buf.work);
529} 529}
530 530
531/** 531/**
diff --git a/drivers/usb/atm/speedtch.c b/drivers/usb/atm/speedtch.c
index 975e9c6691d..807627b36cc 100644
--- a/drivers/usb/atm/speedtch.c
+++ b/drivers/usb/atm/speedtch.c
@@ -718,7 +718,7 @@ static void speedtch_atm_stop(struct usbatm_data *usbatm, struct atm_dev *atm_de
718 del_timer_sync(&instance->resubmit_timer); 718 del_timer_sync(&instance->resubmit_timer);
719 usb_free_urb(int_urb); 719 usb_free_urb(int_urb);
720 720
721 flush_work_sync(&instance->status_check_work); 721 flush_work(&instance->status_check_work);
722} 722}
723 723
724static int speedtch_pre_reset(struct usb_interface *intf) 724static int speedtch_pre_reset(struct usb_interface *intf)
diff --git a/drivers/usb/atm/ueagle-atm.c b/drivers/usb/atm/ueagle-atm.c
index d7e422dc0ef..9d1a044504e 100644
--- a/drivers/usb/atm/ueagle-atm.c
+++ b/drivers/usb/atm/ueagle-atm.c
@@ -2234,7 +2234,7 @@ static void uea_stop(struct uea_softc *sc)
2234 usb_free_urb(sc->urb_int); 2234 usb_free_urb(sc->urb_int);
2235 2235
2236 /* flush the work item, when no one can schedule it */ 2236 /* flush the work item, when no one can schedule it */
2237 flush_work_sync(&sc->task); 2237 flush_work(&sc->task);
2238 2238
2239 release_firmware(sc->dsp_firm); 2239 release_firmware(sc->dsp_firm);
2240 uea_leaves(INS_TO_USBDEV(sc)); 2240 uea_leaves(INS_TO_USBDEV(sc));
diff --git a/drivers/usb/gadget/u_ether.c b/drivers/usb/gadget/u_ether.c
index 90e82e288eb..f1e5fbf5c2c 100644
--- a/drivers/usb/gadget/u_ether.c
+++ b/drivers/usb/gadget/u_ether.c
@@ -834,7 +834,7 @@ void gether_cleanup(void)
834 return; 834 return;
835 835
836 unregister_netdev(the_dev->net); 836 unregister_netdev(the_dev->net);
837 flush_work_sync(&the_dev->work); 837 flush_work(&the_dev->work);
838 free_netdev(the_dev->net); 838 free_netdev(the_dev->net);
839 839
840 the_dev = NULL; 840 the_dev = NULL;
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index 2b1e8d84c87..2364098ea83 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -893,7 +893,7 @@ static void ohci_stop (struct usb_hcd *hcd)
893 ohci_dump (ohci, 1); 893 ohci_dump (ohci, 1);
894 894
895 if (quirk_nec(ohci)) 895 if (quirk_nec(ohci))
896 flush_work_sync(&ohci->nec_work); 896 flush_work(&ohci->nec_work);
897 897
898 ohci_usb_reset (ohci); 898 ohci_usb_reset (ohci);
899 ohci_writel (ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable); 899 ohci_writel (ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable);
diff --git a/drivers/usb/otg/isp1301_omap.c b/drivers/usb/otg/isp1301_omap.c
index 7a88667742b..720df35561c 100644
--- a/drivers/usb/otg/isp1301_omap.c
+++ b/drivers/usb/otg/isp1301_omap.c
@@ -1230,7 +1230,7 @@ static int __exit isp1301_remove(struct i2c_client *i2c)
1230 isp->timer.data = 0; 1230 isp->timer.data = 0;
1231 set_bit(WORK_STOP, &isp->todo); 1231 set_bit(WORK_STOP, &isp->todo);
1232 del_timer_sync(&isp->timer); 1232 del_timer_sync(&isp->timer);
1233 flush_work_sync(&isp->work); 1233 flush_work(&isp->work);
1234 1234
1235 put_device(&i2c->dev); 1235 put_device(&i2c->dev);
1236 the_transceiver = NULL; 1236 the_transceiver = NULL;
diff --git a/fs/affs/super.c b/fs/affs/super.c
index c70f1e5fc02..022cecb0757 100644
--- a/fs/affs/super.c
+++ b/fs/affs/super.c
@@ -551,7 +551,7 @@ affs_remount(struct super_block *sb, int *flags, char *data)
551 return -EINVAL; 551 return -EINVAL;
552 } 552 }
553 553
554 flush_delayed_work_sync(&sbi->sb_work); 554 flush_delayed_work(&sbi->sb_work);
555 replace_mount_options(sb, new_opts); 555 replace_mount_options(sb, new_opts);
556 556
557 sbi->s_flags = mount_flags; 557 sbi->s_flags = mount_flags;
diff --git a/fs/gfs2/lock_dlm.c b/fs/gfs2/lock_dlm.c
index 4a38db739ca..0fb6539b0c8 100644
--- a/fs/gfs2/lock_dlm.c
+++ b/fs/gfs2/lock_dlm.c
@@ -1289,7 +1289,7 @@ static void gdlm_unmount(struct gfs2_sbd *sdp)
1289 spin_lock(&ls->ls_recover_spin); 1289 spin_lock(&ls->ls_recover_spin);
1290 set_bit(DFL_UNMOUNT, &ls->ls_recover_flags); 1290 set_bit(DFL_UNMOUNT, &ls->ls_recover_flags);
1291 spin_unlock(&ls->ls_recover_spin); 1291 spin_unlock(&ls->ls_recover_spin);
1292 flush_delayed_work_sync(&sdp->sd_control_work); 1292 flush_delayed_work(&sdp->sd_control_work);
1293 1293
1294 /* mounted_lock and control_lock will be purged in dlm recovery */ 1294 /* mounted_lock and control_lock will be purged in dlm recovery */
1295release: 1295release:
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
index fc3168f47a1..867700aba53 100644
--- a/fs/gfs2/super.c
+++ b/fs/gfs2/super.c
@@ -1572,7 +1572,7 @@ out:
1572 clear_inode(inode); 1572 clear_inode(inode);
1573 gfs2_dir_hash_inval(ip); 1573 gfs2_dir_hash_inval(ip);
1574 ip->i_gl->gl_object = NULL; 1574 ip->i_gl->gl_object = NULL;
1575 flush_delayed_work_sync(&ip->i_gl->gl_work); 1575 flush_delayed_work(&ip->i_gl->gl_work);
1576 gfs2_glock_add_to_lru(ip->i_gl); 1576 gfs2_glock_add_to_lru(ip->i_gl);
1577 gfs2_glock_put(ip->i_gl); 1577 gfs2_glock_put(ip->i_gl);
1578 ip->i_gl = NULL; 1578 ip->i_gl = NULL;
diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c
index ee1bc55677f..55390939527 100644
--- a/fs/hfs/inode.c
+++ b/fs/hfs/inode.c
@@ -644,7 +644,7 @@ static int hfs_file_fsync(struct file *filp, loff_t start, loff_t end,
644 644
645 /* sync the superblock to buffers */ 645 /* sync the superblock to buffers */
646 sb = inode->i_sb; 646 sb = inode->i_sb;
647 flush_delayed_work_sync(&HFS_SB(sb)->mdb_work); 647 flush_delayed_work(&HFS_SB(sb)->mdb_work);
648 /* .. finally sync the buffers to disk */ 648 /* .. finally sync the buffers to disk */
649 err = sync_blockdev(sb->s_bdev); 649 err = sync_blockdev(sb->s_bdev);
650 if (!ret) 650 if (!ret)
diff --git a/fs/ncpfs/inode.c b/fs/ncpfs/inode.c
index 333df07ae3b..eaa74323663 100644
--- a/fs/ncpfs/inode.c
+++ b/fs/ncpfs/inode.c
@@ -314,11 +314,11 @@ static void ncp_stop_tasks(struct ncp_server *server) {
314 release_sock(sk); 314 release_sock(sk);
315 del_timer_sync(&server->timeout_tm); 315 del_timer_sync(&server->timeout_tm);
316 316
317 flush_work_sync(&server->rcv.tq); 317 flush_work(&server->rcv.tq);
318 if (sk->sk_socket->type == SOCK_STREAM) 318 if (sk->sk_socket->type == SOCK_STREAM)
319 flush_work_sync(&server->tx.tq); 319 flush_work(&server->tx.tq);
320 else 320 else
321 flush_work_sync(&server->timeout_tq); 321 flush_work(&server->timeout_tq);
322} 322}
323 323
324static int ncp_show_options(struct seq_file *seq, struct dentry *root) 324static int ncp_show_options(struct seq_file *seq, struct dentry *root)
diff --git a/fs/ocfs2/cluster/quorum.c b/fs/ocfs2/cluster/quorum.c
index 8f9cea1597a..c19897d0fe1 100644
--- a/fs/ocfs2/cluster/quorum.c
+++ b/fs/ocfs2/cluster/quorum.c
@@ -327,5 +327,5 @@ void o2quo_exit(void)
327{ 327{
328 struct o2quo_state *qs = &o2quo_state; 328 struct o2quo_state *qs = &o2quo_state;
329 329
330 flush_work_sync(&qs->qs_work); 330 flush_work(&qs->qs_work);
331} 331}
diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
index bdaf4cb9f4a..e8e6be439bc 100644
--- a/fs/xfs/xfs_super.c
+++ b/fs/xfs/xfs_super.c
@@ -953,7 +953,7 @@ xfs_fs_sync_fs(
953 * We schedule xfssyncd now (now that the disk is 953 * We schedule xfssyncd now (now that the disk is
954 * active) instead of later (when it might not be). 954 * active) instead of later (when it might not be).
955 */ 955 */
956 flush_delayed_work_sync(&mp->m_sync_work); 956 flush_delayed_work(&mp->m_sync_work);
957 } 957 }
958 958
959 return 0; 959 return 0;
diff --git a/fs/xfs/xfs_sync.c b/fs/xfs/xfs_sync.c
index 96548176db8..9500caf15ac 100644
--- a/fs/xfs/xfs_sync.c
+++ b/fs/xfs/xfs_sync.c
@@ -475,7 +475,7 @@ xfs_flush_inodes(
475 struct xfs_mount *mp = ip->i_mount; 475 struct xfs_mount *mp = ip->i_mount;
476 476
477 queue_work(xfs_syncd_wq, &mp->m_flush_work); 477 queue_work(xfs_syncd_wq, &mp->m_flush_work);
478 flush_work_sync(&mp->m_flush_work); 478 flush_work(&mp->m_flush_work);
479} 479}
480 480
481STATIC void 481STATIC void
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h
index 855fcdaa2d7..a351be7c3e9 100644
--- a/include/linux/workqueue.h
+++ b/include/linux/workqueue.h
@@ -460,13 +460,13 @@ static inline bool __cancel_delayed_work(struct delayed_work *work)
460} 460}
461 461
462/* used to be different but now identical to flush_work(), deprecated */ 462/* used to be different but now identical to flush_work(), deprecated */
463static inline bool flush_work_sync(struct work_struct *work) 463static inline bool __deprecated flush_work_sync(struct work_struct *work)
464{ 464{
465 return flush_work(work); 465 return flush_work(work);
466} 466}
467 467
468/* used to be different but now identical to flush_delayed_work(), deprecated */ 468/* used to be different but now identical to flush_delayed_work(), deprecated */
469static inline bool flush_delayed_work_sync(struct delayed_work *dwork) 469static inline bool __deprecated flush_delayed_work_sync(struct delayed_work *dwork)
470{ 470{
471 return flush_delayed_work(dwork); 471 return flush_delayed_work(dwork);
472} 472}
diff --git a/net/9p/trans_fd.c b/net/9p/trans_fd.c
index 6449bae1570..505f0ce3f10 100644
--- a/net/9p/trans_fd.c
+++ b/net/9p/trans_fd.c
@@ -1083,7 +1083,7 @@ int p9_trans_fd_init(void)
1083 1083
1084void p9_trans_fd_exit(void) 1084void p9_trans_fd_exit(void)
1085{ 1085{
1086 flush_work_sync(&p9_poll_work); 1086 flush_work(&p9_poll_work);
1087 v9fs_unregister_trans(&p9_tcp_trans); 1087 v9fs_unregister_trans(&p9_tcp_trans);
1088 v9fs_unregister_trans(&p9_unix_trans); 1088 v9fs_unregister_trans(&p9_unix_trans);
1089 v9fs_unregister_trans(&p9_fd_trans); 1089 v9fs_unregister_trans(&p9_fd_trans);
diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c
index 88e7c2f3fa0..45295ca0957 100644
--- a/net/dsa/dsa.c
+++ b/net/dsa/dsa.c
@@ -370,7 +370,7 @@ static int dsa_remove(struct platform_device *pdev)
370 if (dst->link_poll_needed) 370 if (dst->link_poll_needed)
371 del_timer_sync(&dst->link_poll_timer); 371 del_timer_sync(&dst->link_poll_timer);
372 372
373 flush_work_sync(&dst->link_poll_work); 373 flush_work(&dst->link_poll_work);
374 374
375 for (i = 0; i < dst->pd->nr_chips; i++) { 375 for (i = 0; i < dst->pd->nr_chips; i++) {
376 struct dsa_switch *ds = dst->ds[i]; 376 struct dsa_switch *ds = dst->ds[i];
diff --git a/sound/i2c/other/ak4113.c b/sound/i2c/other/ak4113.c
index dde5c9c9213..ef68d710d08 100644
--- a/sound/i2c/other/ak4113.c
+++ b/sound/i2c/other/ak4113.c
@@ -141,7 +141,7 @@ void snd_ak4113_reinit(struct ak4113 *chip)
141{ 141{
142 chip->init = 1; 142 chip->init = 1;
143 mb(); 143 mb();
144 flush_delayed_work_sync(&chip->work); 144 flush_delayed_work(&chip->work);
145 ak4113_init_regs(chip); 145 ak4113_init_regs(chip);
146 /* bring up statistics / event queing */ 146 /* bring up statistics / event queing */
147 chip->init = 0; 147 chip->init = 0;
diff --git a/sound/i2c/other/ak4114.c b/sound/i2c/other/ak4114.c
index fdf3c1b65e3..816e7d225fb 100644
--- a/sound/i2c/other/ak4114.c
+++ b/sound/i2c/other/ak4114.c
@@ -154,7 +154,7 @@ void snd_ak4114_reinit(struct ak4114 *chip)
154{ 154{
155 chip->init = 1; 155 chip->init = 1;
156 mb(); 156 mb();
157 flush_delayed_work_sync(&chip->work); 157 flush_delayed_work(&chip->work);
158 ak4114_init_regs(chip); 158 ak4114_init_regs(chip);
159 /* bring up statistics / event queing */ 159 /* bring up statistics / event queing */
160 chip->init = 0; 160 chip->init = 0;
diff --git a/sound/pci/oxygen/oxygen_lib.c b/sound/pci/oxygen/oxygen_lib.c
index ab8738e21ad..e9fa2d07951 100644
--- a/sound/pci/oxygen/oxygen_lib.c
+++ b/sound/pci/oxygen/oxygen_lib.c
@@ -573,8 +573,8 @@ static void oxygen_card_free(struct snd_card *card)
573 oxygen_shutdown(chip); 573 oxygen_shutdown(chip);
574 if (chip->irq >= 0) 574 if (chip->irq >= 0)
575 free_irq(chip->irq, chip); 575 free_irq(chip->irq, chip);
576 flush_work_sync(&chip->spdif_input_bits_work); 576 flush_work(&chip->spdif_input_bits_work);
577 flush_work_sync(&chip->gpio_work); 577 flush_work(&chip->gpio_work);
578 chip->model.cleanup(chip); 578 chip->model.cleanup(chip);
579 kfree(chip->model_data); 579 kfree(chip->model_data);
580 mutex_destroy(&chip->mutex); 580 mutex_destroy(&chip->mutex);
@@ -751,8 +751,8 @@ static int oxygen_pci_suspend(struct device *dev)
751 spin_unlock_irq(&chip->reg_lock); 751 spin_unlock_irq(&chip->reg_lock);
752 752
753 synchronize_irq(chip->irq); 753 synchronize_irq(chip->irq);
754 flush_work_sync(&chip->spdif_input_bits_work); 754 flush_work(&chip->spdif_input_bits_work);
755 flush_work_sync(&chip->gpio_work); 755 flush_work(&chip->gpio_work);
756 chip->interrupt_mask = saved_interrupt_mask; 756 chip->interrupt_mask = saved_interrupt_mask;
757 757
758 pci_disable_device(pci); 758 pci_disable_device(pci);
diff --git a/sound/soc/codecs/wm8350.c b/sound/soc/codecs/wm8350.c
index d26c8ae4e6d..a4cae060bf2 100644
--- a/sound/soc/codecs/wm8350.c
+++ b/sound/soc/codecs/wm8350.c
@@ -1601,7 +1601,7 @@ static int wm8350_codec_remove(struct snd_soc_codec *codec)
1601 1601
1602 /* if there was any work waiting then we run it now and 1602 /* if there was any work waiting then we run it now and
1603 * wait for its completion */ 1603 * wait for its completion */
1604 flush_delayed_work_sync(&codec->dapm.delayed_work); 1604 flush_delayed_work(&codec->dapm.delayed_work);
1605 1605
1606 wm8350_set_bias_level(codec, SND_SOC_BIAS_OFF); 1606 wm8350_set_bias_level(codec, SND_SOC_BIAS_OFF);
1607 1607
diff --git a/sound/soc/codecs/wm8753.c b/sound/soc/codecs/wm8753.c
index 13bff87ddcf..2e4a775ae56 100644
--- a/sound/soc/codecs/wm8753.c
+++ b/sound/soc/codecs/wm8753.c
@@ -1509,7 +1509,7 @@ static int wm8753_probe(struct snd_soc_codec *codec)
1509/* power down chip */ 1509/* power down chip */
1510static int wm8753_remove(struct snd_soc_codec *codec) 1510static int wm8753_remove(struct snd_soc_codec *codec)
1511{ 1511{
1512 flush_delayed_work_sync(&codec->dapm.delayed_work); 1512 flush_delayed_work(&codec->dapm.delayed_work);
1513 wm8753_set_bias_level(codec, SND_SOC_BIAS_OFF); 1513 wm8753_set_bias_level(codec, SND_SOC_BIAS_OFF);
1514 1514
1515 return 0; 1515 return 0;
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index f219b2f7ee6..f6eec782c61 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -591,7 +591,7 @@ int snd_soc_suspend(struct device *dev)
591 591
592 /* close any waiting streams and save state */ 592 /* close any waiting streams and save state */
593 for (i = 0; i < card->num_rtd; i++) { 593 for (i = 0; i < card->num_rtd; i++) {
594 flush_delayed_work_sync(&card->rtd[i].delayed_work); 594 flush_delayed_work(&card->rtd[i].delayed_work);
595 card->rtd[i].codec->dapm.suspend_bias_level = card->rtd[i].codec->dapm.bias_level; 595 card->rtd[i].codec->dapm.suspend_bias_level = card->rtd[i].codec->dapm.bias_level;
596 } 596 }
597 597
@@ -1846,7 +1846,7 @@ static int soc_cleanup_card_resources(struct snd_soc_card *card)
1846 /* make sure any delayed work runs */ 1846 /* make sure any delayed work runs */
1847 for (i = 0; i < card->num_rtd; i++) { 1847 for (i = 0; i < card->num_rtd; i++) {
1848 struct snd_soc_pcm_runtime *rtd = &card->rtd[i]; 1848 struct snd_soc_pcm_runtime *rtd = &card->rtd[i];
1849 flush_delayed_work_sync(&rtd->delayed_work); 1849 flush_delayed_work(&rtd->delayed_work);
1850 } 1850 }
1851 1851
1852 /* remove auxiliary devices */ 1852 /* remove auxiliary devices */
@@ -1890,7 +1890,7 @@ int snd_soc_poweroff(struct device *dev)
1890 * now, we're shutting down so no imminent restart. */ 1890 * now, we're shutting down so no imminent restart. */
1891 for (i = 0; i < card->num_rtd; i++) { 1891 for (i = 0; i < card->num_rtd; i++) {
1892 struct snd_soc_pcm_runtime *rtd = &card->rtd[i]; 1892 struct snd_soc_pcm_runtime *rtd = &card->rtd[i];
1893 flush_delayed_work_sync(&rtd->delayed_work); 1893 flush_delayed_work(&rtd->delayed_work);
1894 } 1894 }
1895 1895
1896 snd_soc_dapm_shutdown(card); 1896 snd_soc_dapm_shutdown(card);
diff --git a/virt/kvm/eventfd.c b/virt/kvm/eventfd.c
index 7d7e2aaffec..67a35e90384 100644
--- a/virt/kvm/eventfd.c
+++ b/virt/kvm/eventfd.c
@@ -90,7 +90,7 @@ irqfd_shutdown(struct work_struct *work)
90 * We know no new events will be scheduled at this point, so block 90 * We know no new events will be scheduled at this point, so block
91 * until all previously outstanding events have completed 91 * until all previously outstanding events have completed
92 */ 92 */
93 flush_work_sync(&irqfd->inject); 93 flush_work(&irqfd->inject);
94 94
95 /* 95 /*
96 * It is now safe to release the object's resources 96 * It is now safe to release the object's resources