diff options
Diffstat (limited to 'drivers/media/video/cx23885/cx23885.h')
-rw-r--r-- | drivers/media/video/cx23885/cx23885.h | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/drivers/media/video/cx23885/cx23885.h b/drivers/media/video/cx23885/cx23885.h index cc7a165561ff..fa744764dc8b 100644 --- a/drivers/media/video/cx23885/cx23885.h +++ b/drivers/media/video/cx23885/cx23885.h | |||
@@ -79,6 +79,8 @@ | |||
79 | #define CX23885_BOARD_MAGICPRO_PROHDTVE2 23 | 79 | #define CX23885_BOARD_MAGICPRO_PROHDTVE2 23 |
80 | #define CX23885_BOARD_HAUPPAUGE_HVR1850 24 | 80 | #define CX23885_BOARD_HAUPPAUGE_HVR1850 24 |
81 | #define CX23885_BOARD_COMPRO_VIDEOMATE_E800 25 | 81 | #define CX23885_BOARD_COMPRO_VIDEOMATE_E800 25 |
82 | #define CX23885_BOARD_HAUPPAUGE_HVR1290 26 | ||
83 | #define CX23885_BOARD_MYGICA_X8558PRO 27 | ||
82 | 84 | ||
83 | #define GPIO_0 0x00000001 | 85 | #define GPIO_0 0x00000001 |
84 | #define GPIO_1 0x00000002 | 86 | #define GPIO_1 0x00000002 |
@@ -157,6 +159,7 @@ enum cx23885_itype { | |||
157 | CX23885_VMUX_COMPOSITE3, | 159 | CX23885_VMUX_COMPOSITE3, |
158 | CX23885_VMUX_COMPOSITE4, | 160 | CX23885_VMUX_COMPOSITE4, |
159 | CX23885_VMUX_SVIDEO, | 161 | CX23885_VMUX_SVIDEO, |
162 | CX23885_VMUX_COMPONENT, | ||
160 | CX23885_VMUX_TELEVISION, | 163 | CX23885_VMUX_TELEVISION, |
161 | CX23885_VMUX_CABLE, | 164 | CX23885_VMUX_CABLE, |
162 | CX23885_VMUX_DVB, | 165 | CX23885_VMUX_DVB, |
@@ -297,10 +300,6 @@ struct cx23885_tsport { | |||
297 | /* Allow a single tsport to have multiple frontends */ | 300 | /* Allow a single tsport to have multiple frontends */ |
298 | u32 num_frontends; | 301 | u32 num_frontends; |
299 | void *port_priv; | 302 | void *port_priv; |
300 | |||
301 | /* FIXME: temporary hack */ | ||
302 | int (*set_frontend_save) (struct dvb_frontend *, | ||
303 | struct dvb_frontend_parameters *); | ||
304 | }; | 303 | }; |
305 | 304 | ||
306 | struct cx23885_dev { | 305 | struct cx23885_dev { |
@@ -356,6 +355,16 @@ struct cx23885_dev { | |||
356 | unsigned int has_radio; | 355 | unsigned int has_radio; |
357 | struct v4l2_subdev *sd_cx25840; | 356 | struct v4l2_subdev *sd_cx25840; |
358 | 357 | ||
358 | /* Infrared */ | ||
359 | struct v4l2_subdev *sd_ir; | ||
360 | struct work_struct ir_rx_work; | ||
361 | unsigned long ir_rx_notifications; | ||
362 | struct work_struct ir_tx_work; | ||
363 | unsigned long ir_tx_notifications; | ||
364 | |||
365 | struct card_ir *ir_input; | ||
366 | atomic_t ir_input_stopping; | ||
367 | |||
359 | /* V4l */ | 368 | /* V4l */ |
360 | u32 freq; | 369 | u32 freq; |
361 | struct video_device *video_dev; | 370 | struct video_device *video_dev; |
@@ -383,6 +392,13 @@ static inline struct cx23885_dev *to_cx23885(struct v4l2_device *v4l2_dev) | |||
383 | #define call_all(dev, o, f, args...) \ | 392 | #define call_all(dev, o, f, args...) \ |
384 | v4l2_device_call_all(&dev->v4l2_dev, 0, o, f, ##args) | 393 | v4l2_device_call_all(&dev->v4l2_dev, 0, o, f, ##args) |
385 | 394 | ||
395 | #define CX23885_HW_888_IR (1 << 0) | ||
396 | |||
397 | #define call_hw(dev, grpid, o, f, args...) \ | ||
398 | v4l2_device_call_all(&dev->v4l2_dev, grpid, o, f, ##args) | ||
399 | |||
400 | extern struct v4l2_subdev *cx23885_find_hw(struct cx23885_dev *dev, u32 hw); | ||
401 | |||
386 | extern struct list_head cx23885_devlist; | 402 | extern struct list_head cx23885_devlist; |
387 | 403 | ||
388 | #define SRAM_CH01 0 /* Video A */ | 404 | #define SRAM_CH01 0 /* Video A */ |
@@ -455,6 +471,7 @@ extern void cx23885_wakeup(struct cx23885_tsport *port, | |||
455 | 471 | ||
456 | extern void cx23885_gpio_set(struct cx23885_dev *dev, u32 mask); | 472 | extern void cx23885_gpio_set(struct cx23885_dev *dev, u32 mask); |
457 | extern void cx23885_gpio_clear(struct cx23885_dev *dev, u32 mask); | 473 | extern void cx23885_gpio_clear(struct cx23885_dev *dev, u32 mask); |
474 | extern u32 cx23885_gpio_get(struct cx23885_dev *dev, u32 mask); | ||
458 | extern void cx23885_gpio_enable(struct cx23885_dev *dev, u32 mask, | 475 | extern void cx23885_gpio_enable(struct cx23885_dev *dev, u32 mask, |
459 | int asoutput); | 476 | int asoutput); |
460 | 477 | ||
@@ -471,6 +488,8 @@ extern int cx23885_tuner_callback(void *priv, int component, | |||
471 | int command, int arg); | 488 | int command, int arg); |
472 | extern void cx23885_card_list(struct cx23885_dev *dev); | 489 | extern void cx23885_card_list(struct cx23885_dev *dev); |
473 | extern int cx23885_ir_init(struct cx23885_dev *dev); | 490 | extern int cx23885_ir_init(struct cx23885_dev *dev); |
491 | extern void cx23885_ir_pci_int_enable(struct cx23885_dev *dev); | ||
492 | extern void cx23885_ir_fini(struct cx23885_dev *dev); | ||
474 | extern void cx23885_gpio_setup(struct cx23885_dev *dev); | 493 | extern void cx23885_gpio_setup(struct cx23885_dev *dev); |
475 | extern void cx23885_card_setup(struct cx23885_dev *dev); | 494 | extern void cx23885_card_setup(struct cx23885_dev *dev); |
476 | extern void cx23885_card_setup_pre_i2c(struct cx23885_dev *dev); | 495 | extern void cx23885_card_setup_pre_i2c(struct cx23885_dev *dev); |
@@ -515,6 +534,10 @@ extern void cx23885_417_check_encoder(struct cx23885_dev *dev); | |||
515 | extern void cx23885_mc417_init(struct cx23885_dev *dev); | 534 | extern void cx23885_mc417_init(struct cx23885_dev *dev); |
516 | extern int mc417_memory_read(struct cx23885_dev *dev, u32 address, u32 *value); | 535 | extern int mc417_memory_read(struct cx23885_dev *dev, u32 address, u32 *value); |
517 | extern int mc417_memory_write(struct cx23885_dev *dev, u32 address, u32 value); | 536 | extern int mc417_memory_write(struct cx23885_dev *dev, u32 address, u32 value); |
537 | extern int mc417_register_read(struct cx23885_dev *dev, | ||
538 | u16 address, u32 *value); | ||
539 | extern int mc417_register_write(struct cx23885_dev *dev, | ||
540 | u16 address, u32 value); | ||
518 | extern void mc417_gpio_set(struct cx23885_dev *dev, u32 mask); | 541 | extern void mc417_gpio_set(struct cx23885_dev *dev, u32 mask); |
519 | extern void mc417_gpio_clear(struct cx23885_dev *dev, u32 mask); | 542 | extern void mc417_gpio_clear(struct cx23885_dev *dev, u32 mask); |
520 | extern void mc417_gpio_enable(struct cx23885_dev *dev, u32 mask, int asoutput); | 543 | extern void mc417_gpio_enable(struct cx23885_dev *dev, u32 mask, int asoutput); |