/* Analog */
#include <linux/videodev2.h>
#include <media/videobuf-vmalloc.h>
+#include <media/v4l2-device.h>
/* DVB */
#include "demux.h"
/* Defination for AU0828 USB transfer */
#define AU0828_MAX_ISO_BUFS 12 /* maybe resize this value in the future */
#define AU0828_ISO_PACKETS_PER_URB 10
-#define AU0828_ISO_MAX_FRAME_SIZE (3 * 1024)
-#define AU0828_ISO_BUFFER_SIZE (AU0828_ISO_PACKETS_PER_URB * AU0828_ISO_MAX_FRAME_SIZE)
#define AU0828_MIN_BUF 4
#define AU0828_DEF_BUF 8
-#define AU0828_MAX_IMAGES 10
-#define AU0828_FRAME_SIZE (1028 * 1024 * 4)
-#define AU0828_URB_TIMEOUT msecs_to_jiffies(AU0828_MAX_ISO_BUFS * AU0828_ISO_PACKETS_PER_URB)
-
#define AU0828_MAX_INPUT 4
enum au0828_itype {
- AU0828_VMUX_COMPOSITE = 1,
+ AU0828_VMUX_UNDEFINED = 0,
+ AU0828_VMUX_COMPOSITE,
AU0828_VMUX_SVIDEO,
AU0828_VMUX_CABLE,
AU0828_VMUX_TELEVISION,
/* I2C */
struct i2c_adapter i2c_adap;
- struct i2c_algo_bit_data i2c_algo;
+ struct i2c_algorithm i2c_algo;
struct i2c_client i2c_client;
u32 i2c_rc;
/* Analog */
struct list_head au0828list;
+ struct v4l2_device v4l2_dev;
int users;
unsigned int stream_on:1; /* Locks streams */
struct video_device *vdev;
/* au0828-i2c.c */
extern int au0828_i2c_register(struct au0828_dev *dev);
extern int au0828_i2c_unregister(struct au0828_dev *dev);
-extern void au0828_call_i2c_clients(struct au0828_dev *dev,
- unsigned int cmd, void *arg);
/* ----------------------------------------------------------- */
/* au0828-video.c */
-int au0828_analog_register(struct au0828_dev *dev);
+int au0828_analog_register(struct au0828_dev *dev,
+ struct usb_interface *interface);
int au0828_analog_stream_disable(struct au0828_dev *d);
void au0828_analog_unregister(struct au0828_dev *dev);