From: Linus Torvalds <torvalds@linux-foundation.org>
Date: Sat, 8 Jan 2011 00:58:04 +0000 (-0800)
Subject: Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
X-Git-Tag: firefly_0821_release~7613^2~3102
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=23d69b09b78c4876e134f104a3814c30747c53f1;p=firefly-linux-kernel-4.4.55.git

Merge branch 'for-2.6.38' of git://git./linux/kernel/git/tj/wq

* 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (33 commits)
  usb: don't use flush_scheduled_work()
  speedtch: don't abuse struct delayed_work
  media/video: don't use flush_scheduled_work()
  media/video: explicitly flush request_module work
  ioc4: use static work_struct for ioc4_load_modules()
  init: don't call flush_scheduled_work() from do_initcalls()
  s390: don't use flush_scheduled_work()
  rtc: don't use flush_scheduled_work()
  mmc: update workqueue usages
  mfd: update workqueue usages
  dvb: don't use flush_scheduled_work()
  leds-wm8350: don't use flush_scheduled_work()
  mISDN: don't use flush_scheduled_work()
  macintosh/ams: don't use flush_scheduled_work()
  vmwgfx: don't use flush_scheduled_work()
  tpm: don't use flush_scheduled_work()
  sonypi: don't use flush_scheduled_work()
  hvsi: don't use flush_scheduled_work()
  xen: don't use flush_scheduled_work()
  gdrom: don't use flush_scheduled_work()
  ...

Fixed up trivial conflict in drivers/media/video/bt8xx/bttv-input.c
as per Tejun.
---

23d69b09b78c4876e134f104a3814c30747c53f1
diff --cc drivers/media/dvb/dvb-usb/dvb-usb-remote.c
index c6498f536dff,d5f3d3c7463e..23005b3cf30b
--- a/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
+++ b/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
@@@ -313,12 -298,11 +313,11 @@@ int dvb_usb_remote_init(struct dvb_usb_
  int dvb_usb_remote_exit(struct dvb_usb_device *d)
  {
  	if (d->state & DVB_USB_STATE_REMOTE) {
- 		cancel_rearming_delayed_work(&d->rc_query_work);
- 		flush_scheduled_work();
+ 		cancel_delayed_work_sync(&d->rc_query_work);
  		if (d->props.rc.mode == DVB_RC_LEGACY)
 -			input_unregister_device(d->rc_input_dev);
 +			input_unregister_device(d->input_dev);
  		else
 -			ir_input_unregister(d->rc_input_dev);
 +			rc_unregister_device(d->rc_dev);
  	}
  	d->state &= ~DVB_USB_STATE_REMOTE;
  	return 0;
diff --cc drivers/media/video/bt8xx/bttv-input.c
index 97793b960600,1989f002898b..e8b64bca9db2
--- a/drivers/media/video/bt8xx/bttv-input.c
+++ b/drivers/media/video/bt8xx/bttv-input.c
@@@ -327,8 -235,7 +325,7 @@@ static void bttv_ir_stop(struct bttv *b
  	if (btv->remote->rc5_gpio) {
  		u32 gpio;
  
 -		del_timer_sync(&btv->remote->timer_end);
 +		del_timer_sync(&btv->remote->timer);
- 		flush_scheduled_work();
  
  		gpio = bttv_gpio_read(&btv->c);
  		bttv_gpio_write(&btv->c, gpio & ~(1 << 4));
diff --cc drivers/media/video/cx23885/cx23885-input.c
index 0b0d0664382a,4a326fe0b01c..199b9964bbe5
--- a/drivers/media/video/cx23885/cx23885-input.c
+++ b/drivers/media/video/cx23885/cx23885-input.c
@@@ -229,13 -230,11 +229,11 @@@ static void cx23885_input_ir_stop(struc
  		v4l2_subdev_call(dev->sd_ir, ir, rx_s_parameters, &params);
  		v4l2_subdev_call(dev->sd_ir, ir, rx_g_parameters, &params);
  	}
- 
- 	flush_scheduled_work();
  }
  
 -static void cx23885_input_ir_close(void *priv)
 +static void cx23885_input_ir_close(struct rc_dev *rc)
  {
 -	struct cx23885_kernel_ir *kernel_ir = priv;
 +	struct cx23885_kernel_ir *kernel_ir = rc->priv;
  
  	if (kernel_ir->cx != NULL)
  		cx23885_input_ir_stop(kernel_ir->cx);