diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-30 03:08:53 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-30 03:08:53 -0400 |
commit | 664a41b8a91bf78a01a751e15175e0008977685a (patch) | |
tree | d9dc15c83400ad2dfb430ff27ae3e7fdc9395856 /drivers/usb/gadget | |
parent | 983236b5741e557451f3ed4ec5ebf1f62a5b2c15 (diff) | |
parent | ee2ce3a0b43d14d792d34cf88e7bc2091096744b (diff) |
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (430 commits)
[media] ir-mce_kbd-decoder: include module.h for its facilities
[media] ov5642: include module.h for its facilities
[media] em28xx: Fix DVB-C maxsize for em2884
[media] tda18271c2dd: Fix saw filter configuration for DVB-C @6MHz
[media] v4l: mt9v032: Fix Bayer pattern
[media] V4L: mt9m111: rewrite set_pixfmt
[media] V4L: mt9m111: fix missing return value check mt9m111_reg_clear
[media] V4L: initial driver for ov5642 CMOS sensor
[media] V4L: sh_mobile_ceu_camera: fix Oops when USERPTR mapping fails
[media] V4L: soc-camera: remove soc-camera bus and devices on it
[media] V4L: soc-camera: un-export the soc-camera bus
[media] V4L: sh_mobile_csi2: switch away from using the soc-camera bus notifier
[media] V4L: add media bus configuration subdev operations
[media] V4L: soc-camera: group struct field initialisations together
[media] V4L: soc-camera: remove now unused soc-camera specific PM hooks
[media] V4L: pxa-camera: switch to using standard PM hooks
[media] NetUP Dual DVB-T/C CI RF: force card hardware revision by module param
[media] Don't OOPS if videobuf_dvb_get_frontend return NULL
[media] NetUP Dual DVB-T/C CI RF: load firmware according card revision
[media] omap3isp: Support configurable HS/VS polarities
...
Fix up conflicts:
- arch/arm/mach-omap2/board-rx51-peripherals.c:
cleanup regulator supply definitions in mach-omap2
vs
OMAP3: RX-51: define vdds_csib regulator supply
- drivers/staging/tm6000/tm6000-alsa.c (trivial)
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r-- | drivers/usb/gadget/uvc_v4l2.c | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/drivers/usb/gadget/uvc_v4l2.c b/drivers/usb/gadget/uvc_v4l2.c index 5e807f083bc8..52f8f9e513af 100644 --- a/drivers/usb/gadget/uvc_v4l2.c +++ b/drivers/usb/gadget/uvc_v4l2.c | |||
@@ -124,24 +124,12 @@ uvc_v4l2_open(struct file *file) | |||
124 | struct video_device *vdev = video_devdata(file); | 124 | struct video_device *vdev = video_devdata(file); |
125 | struct uvc_device *uvc = video_get_drvdata(vdev); | 125 | struct uvc_device *uvc = video_get_drvdata(vdev); |
126 | struct uvc_file_handle *handle; | 126 | struct uvc_file_handle *handle; |
127 | int ret; | ||
128 | 127 | ||
129 | handle = kzalloc(sizeof(*handle), GFP_KERNEL); | 128 | handle = kzalloc(sizeof(*handle), GFP_KERNEL); |
130 | if (handle == NULL) | 129 | if (handle == NULL) |
131 | return -ENOMEM; | 130 | return -ENOMEM; |
132 | 131 | ||
133 | ret = v4l2_fh_init(&handle->vfh, vdev); | 132 | v4l2_fh_init(&handle->vfh, vdev); |
134 | if (ret < 0) | ||
135 | goto error; | ||
136 | |||
137 | ret = v4l2_event_init(&handle->vfh); | ||
138 | if (ret < 0) | ||
139 | goto error; | ||
140 | |||
141 | ret = v4l2_event_alloc(&handle->vfh, 8); | ||
142 | if (ret < 0) | ||
143 | goto error; | ||
144 | |||
145 | v4l2_fh_add(&handle->vfh); | 133 | v4l2_fh_add(&handle->vfh); |
146 | 134 | ||
147 | handle->device = &uvc->video; | 135 | handle->device = &uvc->video; |
@@ -149,10 +137,6 @@ uvc_v4l2_open(struct file *file) | |||
149 | 137 | ||
150 | uvc_function_connect(uvc); | 138 | uvc_function_connect(uvc); |
151 | return 0; | 139 | return 0; |
152 | |||
153 | error: | ||
154 | v4l2_fh_exit(&handle->vfh); | ||
155 | return ret; | ||
156 | } | 140 | } |
157 | 141 | ||
158 | static int | 142 | static int |
@@ -314,7 +298,7 @@ uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg) | |||
314 | if (sub->type < UVC_EVENT_FIRST || sub->type > UVC_EVENT_LAST) | 298 | if (sub->type < UVC_EVENT_FIRST || sub->type > UVC_EVENT_LAST) |
315 | return -EINVAL; | 299 | return -EINVAL; |
316 | 300 | ||
317 | return v4l2_event_subscribe(&handle->vfh, arg); | 301 | return v4l2_event_subscribe(&handle->vfh, arg, 2); |
318 | } | 302 | } |
319 | 303 | ||
320 | case VIDIOC_UNSUBSCRIBE_EVENT: | 304 | case VIDIOC_UNSUBSCRIBE_EVENT: |
@@ -354,7 +338,7 @@ uvc_v4l2_poll(struct file *file, poll_table *wait) | |||
354 | struct uvc_file_handle *handle = to_uvc_file_handle(file->private_data); | 338 | struct uvc_file_handle *handle = to_uvc_file_handle(file->private_data); |
355 | unsigned int mask = 0; | 339 | unsigned int mask = 0; |
356 | 340 | ||
357 | poll_wait(file, &handle->vfh.events->wait, wait); | 341 | poll_wait(file, &handle->vfh.wait, wait); |
358 | if (v4l2_event_pending(&handle->vfh)) | 342 | if (v4l2_event_pending(&handle->vfh)) |
359 | mask |= POLLPRI; | 343 | mask |= POLLPRI; |
360 | 344 | ||