diff options
Diffstat (limited to 'drivers/media/video/pwc/pwc.h')
-rw-r--r-- | drivers/media/video/pwc/pwc.h | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/drivers/media/video/pwc/pwc.h b/drivers/media/video/pwc/pwc.h index e4d4d711dd1f..d6b5b216b9d6 100644 --- a/drivers/media/video/pwc/pwc.h +++ b/drivers/media/video/pwc/pwc.h | |||
@@ -221,9 +221,17 @@ struct pwc_device | |||
221 | struct video_device vdev; | 221 | struct video_device vdev; |
222 | struct v4l2_device v4l2_dev; | 222 | struct v4l2_device v4l2_dev; |
223 | 223 | ||
224 | /* Pointer to our usb_device, may be NULL after unplug */ | 224 | /* videobuf2 queue and queued buffers list */ |
225 | struct usb_device *udev; | 225 | struct vb2_queue vb_queue; |
226 | struct mutex udevlock; | 226 | struct list_head queued_bufs; |
227 | spinlock_t queued_bufs_lock; /* Protects queued_bufs */ | ||
228 | |||
229 | /* Note if taking both locks v4l2_lock must always be locked first! */ | ||
230 | struct mutex v4l2_lock; /* Protects everything else */ | ||
231 | struct mutex vb_queue_lock; /* Protects vb_queue and capt_file */ | ||
232 | |||
233 | /* Pointer to our usb_device, will be NULL after unplug */ | ||
234 | struct usb_device *udev; /* Both mutexes most be hold when setting! */ | ||
227 | 235 | ||
228 | /* type of cam (645, 646, 675, 680, 690, 720, 730, 740, 750) */ | 236 | /* type of cam (645, 646, 675, 680, 690, 720, 730, 740, 750) */ |
229 | int type; | 237 | int type; |
@@ -232,7 +240,6 @@ struct pwc_device | |||
232 | 240 | ||
233 | /*** Video data ***/ | 241 | /*** Video data ***/ |
234 | struct file *capt_file; /* file doing video capture */ | 242 | struct file *capt_file; /* file doing video capture */ |
235 | struct mutex capt_file_lock; | ||
236 | int vendpoint; /* video isoc endpoint */ | 243 | int vendpoint; /* video isoc endpoint */ |
237 | int vcinterface; /* video control interface */ | 244 | int vcinterface; /* video control interface */ |
238 | int valternate; /* alternate interface needed */ | 245 | int valternate; /* alternate interface needed */ |
@@ -251,12 +258,6 @@ struct pwc_device | |||
251 | unsigned char *ctrl_buf; | 258 | unsigned char *ctrl_buf; |
252 | 259 | ||
253 | struct urb *urbs[MAX_ISO_BUFS]; | 260 | struct urb *urbs[MAX_ISO_BUFS]; |
254 | char iso_init; | ||
255 | |||
256 | /* videobuf2 queue and queued buffers list */ | ||
257 | struct vb2_queue vb_queue; | ||
258 | struct list_head queued_bufs; | ||
259 | spinlock_t queued_bufs_lock; | ||
260 | 261 | ||
261 | /* | 262 | /* |
262 | * Frame currently being filled, this only gets touched by the | 263 | * Frame currently being filled, this only gets touched by the |