Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
[pandora-kernel.git] / drivers / media / video / au0828 / au0828.h
index 2f48ec2..6ed1a61 100644 (file)
@@ -27,6 +27,7 @@
 /* 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,
@@ -187,7 +183,7 @@ struct au0828_dev {
 
        /* 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;
 
@@ -196,6 +192,7 @@ struct au0828_dev {
 
        /* Analog */
        struct list_head au0828list;
+       struct v4l2_device v4l2_dev;
        int users;
        unsigned int stream_on:1;       /* Locks streams */
        struct video_device *vdev;
@@ -268,12 +265,11 @@ extern void au0828_card_setup(struct au0828_dev *dev);
 /* 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);