1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24#ifndef CX25821_VIDEO_H_
25#define CX25821_VIDEO_H_
26
27#include <linux/init.h>
28#include <linux/list.h>
29#include <linux/module.h>
30#include <linux/moduleparam.h>
31#include <linux/kmod.h>
32#include <linux/kernel.h>
33#include <linux/slab.h>
34#include <linux/interrupt.h>
35#include <linux/delay.h>
36#include <linux/kthread.h>
37#include <asm/div64.h>
38
39#include "cx25821.h"
40#include <media/v4l2-common.h>
41#include <media/v4l2-ioctl.h>
42#include <media/v4l2-event.h>
43
44#define VIDEO_DEBUG 0
45
46#define dprintk(level, fmt, arg...) \
47do { \
48 if (VIDEO_DEBUG >= level) \
49 printk(KERN_DEBUG "%s/0: " fmt, dev->name, ##arg); \
50} while (0)
51
52#define FORMAT_FLAGS_PACKED 0x01
53extern void cx25821_video_wakeup(struct cx25821_dev *dev,
54 struct cx25821_dmaqueue *q, u32 count);
55
56extern int cx25821_start_video_dma(struct cx25821_dev *dev,
57 struct cx25821_dmaqueue *q,
58 struct cx25821_buffer *buf,
59 const struct sram_channel *channel);
60
61extern int cx25821_video_irq(struct cx25821_dev *dev, int chan_num, u32 status);
62extern void cx25821_video_unregister(struct cx25821_dev *dev, int chan_num);
63extern int cx25821_video_register(struct cx25821_dev *dev);
64
65#endif
66