summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/em28xx/em28xx.h
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2008-06-29 07:19:06 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-06-29 07:19:06 -0300
commit8178f50745e3f58d2de7196874a86077e51e2d0a (patch)
treeb33ea445532b46c0153289b134661c6ca5adc98c /linux/drivers/media/video/em28xx/em28xx.h
parent94e2f24ecce195fb81e8da1e809e3537f58dce6a (diff)
parent1aaedcfcedc4290350ffe058a6f1e7af9319ff3c (diff)
downloadmediapointer-dvb-s2-8178f50745e3f58d2de7196874a86077e51e2d0a.tar.gz
mediapointer-dvb-s2-8178f50745e3f58d2de7196874a86077e51e2d0a.tar.bz2
merge: http://linuxtv.org/hg/~mkrufky/cxusb
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux/drivers/media/video/em28xx/em28xx.h')
-rw-r--r--linux/drivers/media/video/em28xx/em28xx.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/linux/drivers/media/video/em28xx/em28xx.h b/linux/drivers/media/video/em28xx/em28xx.h
index ed879653b..18b3bc134 100644
--- a/linux/drivers/media/video/em28xx/em28xx.h
+++ b/linux/drivers/media/video/em28xx/em28xx.h
@@ -60,6 +60,7 @@
#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
/* Limits minimum and default number of buffers */
#define EM28XX_MIN_BUF 4
@@ -252,6 +253,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;
@@ -339,6 +341,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;
@@ -433,6 +436,15 @@ 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;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 20)
+ struct work_struct sbutton_query_work;
+#else
+ struct delayed_work sbutton_query_work;
+#endif
+
struct em28xx_dvb *dvb;
};
@@ -498,6 +510,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 */