]> err.no Git - linux-2.6/blobdiff - include/media/videobuf-core.h
PCI: Remove pci_enable_device_bars()
[linux-2.6] / include / media / videobuf-core.h
index 9bae5a2eda66fdcd19ac19ba093310c912c91362..97f14d469595fd03e12adcd01457b266527d8d04 100644 (file)
@@ -56,13 +56,13 @@ struct videobuf_mapping {
 };
 
 enum videobuf_state {
-       STATE_NEEDS_INIT = 0,
-       STATE_PREPARED   = 1,
-       STATE_QUEUED     = 2,
-       STATE_ACTIVE     = 3,
-       STATE_DONE       = 4,
-       STATE_ERROR      = 5,
-       STATE_IDLE       = 6,
+       VIDEOBUF_NEEDS_INIT = 0,
+       VIDEOBUF_PREPARED   = 1,
+       VIDEOBUF_QUEUED     = 2,
+       VIDEOBUF_ACTIVE     = 3,
+       VIDEOBUF_DONE       = 4,
+       VIDEOBUF_ERROR      = 5,
+       VIDEOBUF_IDLE       = 6,
 };
 
 struct videobuf_buffer {
@@ -133,7 +133,7 @@ struct videobuf_qtype_ops {
                                 enum v4l2_memory memory);
        int (*sync)             (struct videobuf_queue* q,
                                 struct videobuf_buffer *buf);
-       int (*copy_to_user)     (struct videobuf_queue *q,
+       int (*video_copy_to_user)(struct videobuf_queue *q,
                                 char __user *data,
                                 size_t count,
                                 int nonblocking);
@@ -162,12 +162,14 @@ struct videobuf_queue {
        struct videobuf_queue_ops  *ops;
        struct videobuf_qtype_ops  *int_ops;
 
+       unsigned int               streaming:1;
+       unsigned int               reading:1;
+       unsigned int               is_mmapped:1;
+
        /* capture via mmap() + ioctl(QBUF/DQBUF) */
-       unsigned int               streaming;
        struct list_head           stream;
 
        /* capture via read() */
-       unsigned int               reading;
        unsigned int               read_off;
        struct videobuf_buffer     *read_buf;
 
@@ -181,14 +183,15 @@ int videobuf_iolock(struct videobuf_queue* q, struct videobuf_buffer *vb,
 
 void *videobuf_alloc(struct videobuf_queue* q);
 
-void videobuf_queue_init(struct videobuf_queue *q,
+void videobuf_queue_core_init(struct videobuf_queue *q,
                         struct videobuf_queue_ops *ops,
                         void *dev,
                         spinlock_t *irqlock,
                         enum v4l2_buf_type type,
                         enum v4l2_field field,
                         unsigned int msize,
-                        void *priv);
+                        void *priv,
+                        struct videobuf_qtype_ops *int_ops);
 int  videobuf_queue_is_busy(struct videobuf_queue *q);
 void videobuf_queue_cancel(struct videobuf_queue *q);
 
@@ -207,6 +210,8 @@ int videobuf_cgmbuf(struct videobuf_queue *q,
 int videobuf_streamon(struct videobuf_queue *q);
 int videobuf_streamoff(struct videobuf_queue *q);
 
+void videobuf_stop(struct videobuf_queue *q);
+
 int videobuf_read_start(struct videobuf_queue *q);
 void videobuf_read_stop(struct videobuf_queue *q);
 ssize_t videobuf_read_stream(struct videobuf_queue *q,