aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/cx88/cx88-input.c2
-rw-r--r--drivers/media/video/usbvision/usbvision-core.c8
-rw-r--r--drivers/media/video/usbvision/usbvision.h2
3 files changed, 7 insertions, 5 deletions
diff --git a/drivers/media/video/cx88/cx88-input.c b/drivers/media/video/cx88/cx88-input.c
index c6d412b1f218..8136673fe9e8 100644
--- a/drivers/media/video/cx88/cx88-input.c
+++ b/drivers/media/video/cx88/cx88-input.c
@@ -158,7 +158,7 @@ static void cx88_ir_work(struct work_struct *work)
158static void cx88_ir_start(struct cx88_core *core, struct cx88_IR *ir) 158static void cx88_ir_start(struct cx88_core *core, struct cx88_IR *ir)
159{ 159{
160 if (ir->polling) { 160 if (ir->polling) {
161 INIT_WORK(&ir->work, cx88_ir_work, ir); 161 INIT_WORK(&ir->work, cx88_ir_work);
162 init_timer(&ir->timer); 162 init_timer(&ir->timer);
163 ir->timer.function = ir_timer; 163 ir->timer.function = ir_timer;
164 ir->timer.data = (unsigned long)ir; 164 ir->timer.data = (unsigned long)ir;
diff --git a/drivers/media/video/usbvision/usbvision-core.c b/drivers/media/video/usbvision/usbvision-core.c
index 9163b60c7f91..9ff93e7346ae 100644
--- a/drivers/media/video/usbvision/usbvision-core.c
+++ b/drivers/media/video/usbvision/usbvision-core.c
@@ -1708,7 +1708,6 @@ int usbvision_power_off(struct usb_usbvision *usbvision)
1708 return errCode; 1708 return errCode;
1709} 1709}
1710 1710
1711
1712/* 1711/*
1713 * usbvision_set_video_format() 1712 * usbvision_set_video_format()
1714 * 1713 *
@@ -2217,14 +2216,15 @@ int usbvision_power_on(struct usb_usbvision *usbvision)
2217 */ 2216 */
2218 2217
2219// to call usbvision_power_off from task queue 2218// to call usbvision_power_off from task queue
2220static void call_usbvision_power_off(void *_usbvision) 2219static void call_usbvision_power_off(struct work_struct *work)
2221{ 2220{
2222 struct usb_usbvision *usbvision = _usbvision; 2221 struct usb_usbvision *usbvision = container_of(work, struct usb_usbvision, work);
2223 2222
2224 PDEBUG(DBG_FUNC, ""); 2223 PDEBUG(DBG_FUNC, "");
2225 down_interruptible(&usbvision->lock); 2224 down_interruptible(&usbvision->lock);
2226 if(usbvision->user == 0) { 2225 if(usbvision->user == 0) {
2227 usbvision_i2c_usb_del_bus(&usbvision->i2c_adap); 2226 usbvision_i2c_usb_del_bus(&usbvision->i2c_adap);
2227
2228 usbvision_power_off(usbvision); 2228 usbvision_power_off(usbvision);
2229 usbvision->initialized = 0; 2229 usbvision->initialized = 0;
2230 } 2230 }
@@ -2237,7 +2237,7 @@ static void usbvision_powerOffTimer(unsigned long data)
2237 2237
2238 PDEBUG(DBG_FUNC, ""); 2238 PDEBUG(DBG_FUNC, "");
2239 del_timer(&usbvision->powerOffTimer); 2239 del_timer(&usbvision->powerOffTimer);
2240 INIT_WORK(&usbvision->powerOffWork, call_usbvision_power_off, usbvision); 2240 INIT_WORK(&usbvision->powerOffWork, call_usbvision_power_off);
2241 (void) schedule_work(&usbvision->powerOffWork); 2241 (void) schedule_work(&usbvision->powerOffWork);
2242 2242
2243} 2243}
diff --git a/drivers/media/video/usbvision/usbvision.h b/drivers/media/video/usbvision/usbvision.h
index 0e7e3d653cac..782abf4ffaab 100644
--- a/drivers/media/video/usbvision/usbvision.h
+++ b/drivers/media/video/usbvision/usbvision.h
@@ -381,6 +381,8 @@ struct usb_usbvision {
381 struct video_device *rdev; /* Radio Device */ 381 struct video_device *rdev; /* Radio Device */
382 struct video_device *vbi; /* VBI Device */ 382 struct video_device *vbi; /* VBI Device */
383 383
384 struct work_struct work;
385
384 /* i2c Declaration Section*/ 386 /* i2c Declaration Section*/
385 struct i2c_adapter i2c_adap; 387 struct i2c_adapter i2c_adap;
386 struct i2c_algo_usb_data i2c_algo; 388 struct i2c_algo_usb_data i2c_algo;