aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/pwc/pwc.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/pwc/pwc.h')
-rw-r--r--drivers/media/video/pwc/pwc.h21
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