From 4ebb548e9d8be084d9a5abb5e3e458f36e2ceb94 Mon Sep 17 00:00:00 2001 From: Marin Mitov Date: Sun, 9 May 2010 14:50:40 +0300 Subject: [PATCH] --- yaml --- r: 197398 b: refs/heads/master c: b8aab1278147e3b067903983a835ef3c68281b13 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/staging/dt3155v4l/dt3155v4l.c | 7 ++++++- trunk/drivers/staging/dt3155v4l/dt3155v4l.h | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 26dc493e2645..17e4a6f0da49 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 48f658bb3d582c13b5d0b86b0295d5e0050e60c9 +refs/heads/master: b8aab1278147e3b067903983a835ef3c68281b13 diff --git a/trunk/drivers/staging/dt3155v4l/dt3155v4l.c b/trunk/drivers/staging/dt3155v4l/dt3155v4l.c index b1695ad9b56e..a5e409170418 100644 --- a/trunk/drivers/staging/dt3155v4l/dt3155v4l.c +++ b/trunk/drivers/staging/dt3155v4l/dt3155v4l.c @@ -612,9 +612,14 @@ dt3155_queue_dma_contig_init(struct videobuf_queue *q, unsigned int msize, void *priv) { + struct dt3155_priv *pd = q->priv_data; + videobuf_queue_dma_contig_init(q, ops, dev, irqlock, type, field, msize, priv); - /* overwrite with our methods */ + /* replace with local copy */ + pd->qt_ops = *q->int_ops; + q->int_ops = &pd->qt_ops; + /* and overwrite with our methods */ q->int_ops->iolock = dt3155_iolock; q->int_ops->mmap_mapper = dt3155_mmap_mapper; q->int_ops->sync = dt3155_sync_for_cpu; diff --git a/trunk/drivers/staging/dt3155v4l/dt3155v4l.h b/trunk/drivers/staging/dt3155v4l/dt3155v4l.h index e5c4ad05b180..4c6a0ee08c0e 100644 --- a/trunk/drivers/staging/dt3155v4l/dt3155v4l.h +++ b/trunk/drivers/staging/dt3155v4l/dt3155v4l.h @@ -185,6 +185,7 @@ struct dt3155_stats { * @curr_buf: pointer to curren buffer * @thread pointer to worker thraed * @irq_handler: irq handler for the driver + * @qt_ops local copy of dma-contig qtype_ops * @dmaq queue for dma buffers * @do_dma wait queue of the kernel thread * @mux: mutex to protect the instance @@ -204,6 +205,7 @@ struct dt3155_priv { struct videobuf_buffer *curr_buf; struct task_struct *thread; irq_handler_t irq_handler; + struct videobuf_qtype_ops qt_ops; struct list_head dmaq; wait_queue_head_t do_dma; struct mutex mux;