Commit 0e2f5118 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

[media] sur40: set q->dev instead of allocating a context

Stop using alloc_ctx and just fill in the device pointer.
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Cc: Florian Echtler <floe@butterbrot.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 8f10c2db
...@@ -151,7 +151,6 @@ struct sur40_state { ...@@ -151,7 +151,6 @@ struct sur40_state {
struct mutex lock; struct mutex lock;
struct vb2_queue queue; struct vb2_queue queue;
struct vb2_alloc_ctx *alloc_ctx;
struct list_head buf_list; struct list_head buf_list;
spinlock_t qlock; spinlock_t qlock;
int sequence; int sequence;
...@@ -580,19 +579,13 @@ static int sur40_probe(struct usb_interface *interface, ...@@ -580,19 +579,13 @@ static int sur40_probe(struct usb_interface *interface,
sur40->queue = sur40_queue; sur40->queue = sur40_queue;
sur40->queue.drv_priv = sur40; sur40->queue.drv_priv = sur40;
sur40->queue.lock = &sur40->lock; sur40->queue.lock = &sur40->lock;
sur40->queue.dev = sur40->dev;
/* initialize the queue */ /* initialize the queue */
error = vb2_queue_init(&sur40->queue); error = vb2_queue_init(&sur40->queue);
if (error) if (error)
goto err_unreg_v4l2; 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 = sur40_video_device;
sur40->vdev.v4l2_dev = &sur40->v4l2; sur40->vdev.v4l2_dev = &sur40->v4l2;
sur40->vdev.lock = &sur40->lock; sur40->vdev.lock = &sur40->lock;
...@@ -633,7 +626,6 @@ static void sur40_disconnect(struct usb_interface *interface) ...@@ -633,7 +626,6 @@ static void sur40_disconnect(struct usb_interface *interface)
video_unregister_device(&sur40->vdev); video_unregister_device(&sur40->vdev);
v4l2_device_unregister(&sur40->v4l2); v4l2_device_unregister(&sur40->v4l2);
vb2_dma_sg_cleanup_ctx(sur40->alloc_ctx);
input_unregister_polled_device(sur40->input); input_unregister_polled_device(sur40->input);
input_free_polled_device(sur40->input); input_free_polled_device(sur40->input);
...@@ -655,11 +647,8 @@ static int sur40_queue_setup(struct vb2_queue *q, ...@@ -655,11 +647,8 @@ static int sur40_queue_setup(struct vb2_queue *q,
unsigned int *nbuffers, unsigned int *nplanes, unsigned int *nbuffers, unsigned int *nplanes,
unsigned int sizes[], void *alloc_ctxs[]) unsigned int sizes[], void *alloc_ctxs[])
{ {
struct sur40_state *sur40 = vb2_get_drv_priv(q);
if (q->num_buffers + *nbuffers < 3) if (q->num_buffers + *nbuffers < 3)
*nbuffers = 3 - q->num_buffers; *nbuffers = 3 - q->num_buffers;
alloc_ctxs[0] = sur40->alloc_ctx;
if (*nplanes) if (*nplanes)
return sizes[0] < sur40_video_format.sizeimage ? -EINVAL : 0; return sizes[0] < sur40_video_format.sizeimage ? -EINVAL : 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment