#define CALL(q, f, arg...)                                             \
        ((q->int_ops->f) ? q->int_ops->f(arg) : 0)
 
-void *videobuf_alloc(struct videobuf_queue *q)
+struct videobuf_buffer *videobuf_alloc(struct videobuf_queue *q)
 {
        struct videobuf_buffer *vb;
 
 
        return ret;
 }
 
-static void *__videobuf_alloc(size_t size)
+static struct videobuf_buffer *__videobuf_alloc(size_t size)
 {
        struct videobuf_dma_contig_memory *mem;
        struct videobuf_buffer *vb;
 
        struct videobuf_dma_sg_memory
  */
 
-static void *__videobuf_alloc(size_t size)
+static struct videobuf_buffer *__videobuf_alloc(size_t size)
 {
        struct videobuf_dma_sg_memory *mem;
        struct videobuf_buffer *vb;
 
        struct videobuf_dma_sg_memory
  */
 
-static void *__videobuf_alloc(size_t size)
+static struct videobuf_buffer *__videobuf_alloc(size_t size)
 {
        struct videobuf_vmalloc_memory *mem;
        struct videobuf_buffer *vb;
 
 struct videobuf_qtype_ops {
        u32                     magic;
 
-       void *(*alloc)          (size_t size);
+       struct videobuf_buffer *(*alloc)(size_t size);
        void *(*vmalloc)        (struct videobuf_buffer *buf);
        int (*iolock)           (struct videobuf_queue *q,
                                 struct videobuf_buffer *vb,
 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,