diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-13 14:10:00 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 13:09:39 -0400 |
commit | 59d3448995a4c0ca98cbe82f6dac9460323377c1 (patch) | |
tree | fe6029dc9e66a4101b8e4e985ff9175a1735e14f /drivers/media/video/videobuf-dvb.c | |
parent | 3b5fa928a6b2971ec65571745defc5d9758b4bc1 (diff) |
V4L/DVB (7566): videobuf-dvb: allow its usage with videobuf-vmalloc
videobuf-dvb were still using a function that were videobuf-dma-sg
dependent. This patch creates a generic handler for this function. This
way, videobuf-dvb can now work with all videobuf implementations.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/videobuf-dvb.c')
-rw-r--r-- | drivers/media/video/videobuf-dvb.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/media/video/videobuf-dvb.c b/drivers/media/video/videobuf-dvb.c index 0f8542a4c71a..6e4d73ec6855 100644 --- a/drivers/media/video/videobuf-dvb.c +++ b/drivers/media/video/videobuf-dvb.c | |||
@@ -20,9 +20,10 @@ | |||
20 | #include <linux/fs.h> | 20 | #include <linux/fs.h> |
21 | #include <linux/kthread.h> | 21 | #include <linux/kthread.h> |
22 | #include <linux/file.h> | 22 | #include <linux/file.h> |
23 | |||
23 | #include <linux/freezer.h> | 24 | #include <linux/freezer.h> |
24 | 25 | ||
25 | #include <media/videobuf-dma-sg.h> | 26 | #include <media/videobuf-core.h> |
26 | #include <media/videobuf-dvb.h> | 27 | #include <media/videobuf-dvb.h> |
27 | 28 | ||
28 | /* ------------------------------------------------------------------ */ | 29 | /* ------------------------------------------------------------------ */ |
@@ -45,7 +46,7 @@ static int videobuf_dvb_thread(void *data) | |||
45 | struct videobuf_buffer *buf; | 46 | struct videobuf_buffer *buf; |
46 | unsigned long flags; | 47 | unsigned long flags; |
47 | int err; | 48 | int err; |
48 | struct videobuf_dmabuf *dma; | 49 | void *outp; |
49 | 50 | ||
50 | dprintk("dvb thread started\n"); | 51 | dprintk("dvb thread started\n"); |
51 | set_freezable(); | 52 | set_freezable(); |
@@ -66,9 +67,10 @@ static int videobuf_dvb_thread(void *data) | |||
66 | try_to_freeze(); | 67 | try_to_freeze(); |
67 | 68 | ||
68 | /* feed buffer data to demux */ | 69 | /* feed buffer data to demux */ |
69 | dma=videobuf_to_dma(buf); | 70 | outp = videobuf_queue_to_vmalloc (&dvb->dvbq, buf); |
71 | |||
70 | if (buf->state == VIDEOBUF_DONE) | 72 | if (buf->state == VIDEOBUF_DONE) |
71 | dvb_dmx_swfilter(&dvb->demux, dma->vmalloc, | 73 | dvb_dmx_swfilter(&dvb->demux, outp, |
72 | buf->size); | 74 | buf->size); |
73 | 75 | ||
74 | /* requeue buffer */ | 76 | /* requeue buffer */ |