diff options
author | Devin Heitmueller <devin.heitmueller@gmail.com> | 2008-06-28 07:57:06 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-07-20 06:12:48 -0400 |
commit | a9fc52bcbeb5245b58d23c558f3e3e8f18bebbc3 (patch) | |
tree | bd0f1f54ed1ee0f3994a38ecebe6dc5fb00c4bc5 /drivers/media/video/em28xx/em28xx.h | |
parent | 305519c924d8f2f2f85c390c6d456dc41dbe0284 (diff) |
V4L/DVB (8123): Add support for em2860 based PointNix Intra-Oral Camera
em28xx-cards.c
em28xx-input.c
em28xx-video.c
em28xx.h
- Add support for the PointNix Intra-Oral Camera, which required addition of
a construct for reading the "snapshot" button (provided on the em2860 and
em2880 chips, but this is the first case where I have seen it actually used
in a product). The button is wired to pin 56 on the em2880.
http://www.pointnix.com/ENG/dental/product_02.asp
Thanks to Roberto Mantovani <rmantovani@libero.it> for testing the changes
Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/em28xx/em28xx.h')
-rw-r--r-- | drivers/media/video/em28xx/em28xx.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h index cff618b2d13c..89842c5d64a1 100644 --- a/drivers/media/video/em28xx/em28xx.h +++ b/drivers/media/video/em28xx/em28xx.h | |||
@@ -57,6 +57,7 @@ | |||
57 | #define EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950 16 | 57 | #define EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950 16 |
58 | #define EM2880_BOARD_PINNACLE_PCTV_HD_PRO 17 | 58 | #define EM2880_BOARD_PINNACLE_PCTV_HD_PRO 17 |
59 | #define EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2 18 | 59 | #define EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2 18 |
60 | #define EM2860_BOARD_POINTNIX_INTRAORAL_CAMERA 19 | ||
60 | 61 | ||
61 | /* Limits minimum and default number of buffers */ | 62 | /* Limits minimum and default number of buffers */ |
62 | #define EM28XX_MIN_BUF 4 | 63 | #define EM28XX_MIN_BUF 4 |
@@ -249,6 +250,7 @@ struct em28xx_board { | |||
249 | unsigned int has_12mhz_i2s:1; | 250 | unsigned int has_12mhz_i2s:1; |
250 | unsigned int max_range_640_480:1; | 251 | unsigned int max_range_640_480:1; |
251 | unsigned int has_dvb:1; | 252 | unsigned int has_dvb:1; |
253 | unsigned int has_snapshot_button:1; | ||
252 | 254 | ||
253 | enum em28xx_decoder decoder; | 255 | enum em28xx_decoder decoder; |
254 | 256 | ||
@@ -328,6 +330,7 @@ struct em28xx { | |||
328 | unsigned int has_12mhz_i2s:1; | 330 | unsigned int has_12mhz_i2s:1; |
329 | unsigned int max_range_640_480:1; | 331 | unsigned int max_range_640_480:1; |
330 | unsigned int has_dvb:1; | 332 | unsigned int has_dvb:1; |
333 | unsigned int has_snapshot_button:1; | ||
331 | 334 | ||
332 | /* Some older em28xx chips needs a waiting time after writing */ | 335 | /* Some older em28xx chips needs a waiting time after writing */ |
333 | unsigned int wait_after_write; | 336 | unsigned int wait_after_write; |
@@ -418,6 +421,11 @@ struct em28xx { | |||
418 | /* Caches GPO and GPIO registers */ | 421 | /* Caches GPO and GPIO registers */ |
419 | unsigned char reg_gpo, reg_gpio; | 422 | unsigned char reg_gpo, reg_gpio; |
420 | 423 | ||
424 | /* Snapshot button */ | ||
425 | char snapshot_button_path[30]; /* path of the input dev */ | ||
426 | struct input_dev *sbutton_input_dev; | ||
427 | struct delayed_work sbutton_query_work; | ||
428 | |||
421 | struct em28xx_dvb *dvb; | 429 | struct em28xx_dvb *dvb; |
422 | }; | 430 | }; |
423 | 431 | ||
@@ -483,6 +491,8 @@ int em28xx_get_key_terratec(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw); | |||
483 | int em28xx_get_key_em_haup(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw); | 491 | int em28xx_get_key_em_haup(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw); |
484 | int em28xx_get_key_pinnacle_usb_grey(struct IR_i2c *ir, u32 *ir_key, | 492 | int em28xx_get_key_pinnacle_usb_grey(struct IR_i2c *ir, u32 *ir_key, |
485 | u32 *ir_raw); | 493 | u32 *ir_raw); |
494 | void em28xx_register_snapshot_button(struct em28xx *dev); | ||
495 | void em28xx_deregister_snapshot_button(struct em28xx *dev); | ||
486 | 496 | ||
487 | /* printk macros */ | 497 | /* printk macros */ |
488 | 498 | ||