V4L/DVB (8492): Add support for the ATI TV Wonder HD 600
[safe/jmp/linux-2.6] / drivers / media / video / em28xx / em28xx.h
index c3b5f46..9da8773 100644 (file)
@@ -56,6 +56,9 @@
 #define EM2800_BOARD_VGEAR_POCKETTV             15
 #define EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950   16
 #define EM2880_BOARD_PINNACLE_PCTV_HD_PRO      17
+#define EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2        18
+#define EM2860_BOARD_POINTNIX_INTRAORAL_CAMERA  19
+#define EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600   20
 
 /* Limits minimum and default number of buffers */
 #define EM28XX_MIN_BUF 4
@@ -248,6 +251,7 @@ struct em28xx_board {
        unsigned int has_12mhz_i2s:1;
        unsigned int max_range_640_480:1;
        unsigned int has_dvb:1;
+       unsigned int has_snapshot_button:1;
 
        enum em28xx_decoder decoder;
 
@@ -327,6 +331,7 @@ struct em28xx {
        unsigned int has_12mhz_i2s:1;
        unsigned int max_range_640_480:1;
        unsigned int has_dvb:1;
+       unsigned int has_snapshot_button:1;
 
        /* Some older em28xx chips needs a waiting time after writing */
        unsigned int wait_after_write;
@@ -417,6 +422,11 @@ struct em28xx {
        /* Caches GPO and GPIO registers */
        unsigned char   reg_gpo, reg_gpio;
 
+       /* Snapshot button */
+       char snapshot_button_path[30];  /* path of the input dev */
+       struct input_dev *sbutton_input_dev;
+       struct delayed_work sbutton_query_work;
+
        struct em28xx_dvb *dvb;
 };
 
@@ -482,6 +492,8 @@ int em28xx_get_key_terratec(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw);
 int em28xx_get_key_em_haup(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw);
 int em28xx_get_key_pinnacle_usb_grey(struct IR_i2c *ir, u32 *ir_key,
                                     u32 *ir_raw);
+void em28xx_register_snapshot_button(struct em28xx *dev);
+void em28xx_deregister_snapshot_button(struct em28xx *dev);
 
 /* printk macros */