V4L/DVB: add memory-to-memory device helper framework for videobuf
[safe/jmp/linux-2.6] / include / media / videobuf-core.h
index 345ec5a..f91a736 100644 (file)
@@ -127,25 +127,16 @@ struct videobuf_queue_ops {
 struct videobuf_qtype_ops {
        u32                     magic;
 
-       void *(*alloc)          (size_t size);
-       void *(*vmalloc)        (struct videobuf_buffer *buf);
+       struct videobuf_buffer *(*alloc)(size_t size);
+       void *(*vaddr)          (struct videobuf_buffer *buf);
        int (*iolock)           (struct videobuf_queue *q,
                                 struct videobuf_buffer *vb,
                                 struct v4l2_framebuffer *fbuf);
        int (*sync)             (struct videobuf_queue *q,
                                 struct videobuf_buffer *buf);
-       int (*video_copy_to_user)(struct videobuf_queue *q,
-                                char __user *data,
-                                size_t count,
-                                int nonblocking);
-       int (*copy_stream)      (struct videobuf_queue *q,
-                                char __user *data,
-                                size_t count,
-                                size_t pos,
-                                int vbihack,
-                                int nonblocking);
        int (*mmap_mapper)      (struct videobuf_queue *q,
-                               struct vm_area_struct *vma);
+                                struct videobuf_buffer *buf,
+                                struct vm_area_struct *vma);
 };
 
 struct videobuf_queue {
@@ -166,7 +157,6 @@ struct videobuf_queue {
 
        unsigned int               streaming:1;
        unsigned int               reading:1;
-       unsigned int               is_mmapped:1;
 
        /* capture via mmap() + ioctl(QBUF/DQBUF) */
        struct list_head           stream;
@@ -183,11 +173,11 @@ int videobuf_waiton(struct videobuf_buffer *vb, int non_blocking, int intr);
 int videobuf_iolock(struct videobuf_queue *q, struct videobuf_buffer *vb,
                struct v4l2_framebuffer *fbuf);
 
-void *videobuf_alloc(struct videobuf_queue* q);
+struct videobuf_buffer *videobuf_alloc(struct videobuf_queue *q);
 
 /* Used on videobuf-dvb */
-void *videobuf_queue_to_vmalloc(struct videobuf_queue *q,
-                               struct videobuf_buffer *buf);
+void *videobuf_queue_to_vaddr(struct videobuf_queue *q,
+                             struct videobuf_buffer *buf);
 
 void videobuf_queue_core_init(struct videobuf_queue *q,
                         const struct videobuf_queue_ops *ops,