]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/media/video/em28xx/em28xx.h
V4L/DVB (12741): em28xx: make video isoc stream work when VBI is enabled
[mv-sheeva.git] / drivers / media / video / em28xx / em28xx.h
index a2add61f7d59dd4555b48b95b81197f337b85951..1656d2cf34a9d28557cffcce5032ccd21d357e75 100644 (file)
 #define EM2882_BOARD_KWORLD_ATSC_315U            69
 #define EM2882_BOARD_EVGA_INDTUBE                70
 #define EM2820_BOARD_SILVERCREST_WEBCAM           71
+#define EM2861_BOARD_GADMEI_UTV330PLUS           72
 
 /* Limits minimum and default number of buffers */
 #define EM28XX_MIN_BUF 4
@@ -398,6 +399,7 @@ struct em28xx_board {
        unsigned int has_snapshot_button:1;
        unsigned int is_webcam:1;
        unsigned int valid:1;
+       unsigned int has_ir_i2c:1;
 
        unsigned char xclk, i2c_speed;
        unsigned char radio_addr;
@@ -408,7 +410,7 @@ struct em28xx_board {
 
        struct em28xx_input       input[MAX_EM28XX_INPUT];
        struct em28xx_input       radio;
-       IR_KEYTAB_TYPE            *ir_codes;
+       struct ir_scancode_table  *ir_codes;
 };
 
 struct em28xx_eeprom {
@@ -542,6 +544,12 @@ struct em28xx {
        enum em28xx_dev_state state;
        enum em28xx_io_method io;
 
+       /* vbi related state tracking */
+       int capture_type;
+       int vbi_read;
+       unsigned char cur_field;
+
+
        struct work_struct         request_module_wk;
 
        /* locks */
@@ -595,6 +603,10 @@ struct em28xx {
        struct delayed_work sbutton_query_work;
 
        struct em28xx_dvb *dvb;
+
+       /* I2C keyboard data */
+       struct i2c_board_info info;
+       struct IR_i2c_init_data init_data;
 };
 
 struct em28xx_ops {
@@ -633,6 +645,7 @@ int em28xx_audio_setup(struct em28xx *dev);
 
 int em28xx_colorlevels_set_default(struct em28xx *dev);
 int em28xx_capture_start(struct em28xx *dev, int start);
+int em28xx_vbi_supported(struct em28xx *dev);
 int em28xx_set_outfmt(struct em28xx *dev);
 int em28xx_resolution_set(struct em28xx *dev);
 int em28xx_set_alternate(struct em28xx *dev);