|
@@ -151,7 +151,6 @@ struct sur40_state {
|
|
|
struct mutex lock;
|
|
|
|
|
|
struct vb2_queue queue;
|
|
|
- struct vb2_alloc_ctx *alloc_ctx;
|
|
|
struct list_head buf_list;
|
|
|
spinlock_t qlock;
|
|
|
int sequence;
|
|
@@ -580,19 +579,13 @@ static int sur40_probe(struct usb_interface *interface,
|
|
|
sur40->queue = sur40_queue;
|
|
|
sur40->queue.drv_priv = sur40;
|
|
|
sur40->queue.lock = &sur40->lock;
|
|
|
+ sur40->queue.dev = sur40->dev;
|
|
|
|
|
|
/* initialize the queue */
|
|
|
error = vb2_queue_init(&sur40->queue);
|
|
|
if (error)
|
|
|
goto err_unreg_v4l2;
|
|
|
|
|
|
- sur40->alloc_ctx = vb2_dma_sg_init_ctx(sur40->dev);
|
|
|
- if (IS_ERR(sur40->alloc_ctx)) {
|
|
|
- dev_err(sur40->dev, "Can't allocate buffer context");
|
|
|
- error = PTR_ERR(sur40->alloc_ctx);
|
|
|
- goto err_unreg_v4l2;
|
|
|
- }
|
|
|
-
|
|
|
sur40->vdev = sur40_video_device;
|
|
|
sur40->vdev.v4l2_dev = &sur40->v4l2;
|
|
|
sur40->vdev.lock = &sur40->lock;
|
|
@@ -633,7 +626,6 @@ static void sur40_disconnect(struct usb_interface *interface)
|
|
|
|
|
|
video_unregister_device(&sur40->vdev);
|
|
|
v4l2_device_unregister(&sur40->v4l2);
|
|
|
- vb2_dma_sg_cleanup_ctx(sur40->alloc_ctx);
|
|
|
|
|
|
input_unregister_polled_device(sur40->input);
|
|
|
input_free_polled_device(sur40->input);
|
|
@@ -655,11 +647,8 @@ static int sur40_queue_setup(struct vb2_queue *q,
|
|
|
unsigned int *nbuffers, unsigned int *nplanes,
|
|
|
unsigned int sizes[], void *alloc_ctxs[])
|
|
|
{
|
|
|
- struct sur40_state *sur40 = vb2_get_drv_priv(q);
|
|
|
-
|
|
|
if (q->num_buffers + *nbuffers < 3)
|
|
|
*nbuffers = 3 - q->num_buffers;
|
|
|
- alloc_ctxs[0] = sur40->alloc_ctx;
|
|
|
|
|
|
if (*nplanes)
|
|
|
return sizes[0] < sur40_video_format.sizeimage ? -EINVAL : 0;
|