V4L(913) Saa713x cards with i2c remotes now autoload ir kbd i2c
PATCH 11/20 V4L(913) Saa713x cards with i2c remotes now autoload ir kbd i2c
From: Ricardo Cerqueira <[email protected]>
- SAA713x cards with i2c remotes now autoload ir-kbd-i2c (disable_ir works, as it does for GPIO remotes)
Signed-off-by Ricardo Cerqueira <[email protected]>
Signed-off-by Mauro Carvalho Chehab <[email protected]>
-----------------
drivers/media/video/saa7134/saa7134-cards.c | 9 +++++++-- drivers/media/video/saa7134/saa7134-core.c | 4 +++- drivers/media/video/saa7134/saa7134-input.c | 3 ++- drivers/media/video/saa7134/saa7134.h | 6 ++++++ 4 files changed, 18 insertions(+), 4 deletions(-)
drivers/media/video/saa7134/saa7134-cards.c +7 -2
@@ -3038,7 +3038,7 @@ int saa7134_board_init1(struct saa7134_dswitch (dev->board) {case SAA7134_BOARD_FLYVIDEO2000 :case SAA7134_BOARD_FLYVIDEO3000 : - dev->has_remote =1 ; + dev->has_remote =SAA7134_REMOTE_GPIO ;board_flyvideo (dev);break ;case SAA7134_BOARD_FLYTVPLATINUM_MINI2 :
@@ -3068,7 +3068,7 @@ int saa7134_board_init1(struct saa7134_dcase SAA7134_BOARD_GOTVIEW_7135 :case SAA7134_BOARD_KWORLD_TERMINATOR :case SAA7134_BOARD_PCTV_CARDBUS : - dev->has_remote =1 ; + dev->has_remote =SAA7134_REMOTE_GPIO ;break ;case SAA7134_BOARD_MD5044 : printk("%s: seems there are two different versions of the MD5044\n"
@@ -3108,6 +3108,11 @@ int saa7134_board_init1(struct saa7134_dsaa_writeb (SAA7134_PRODUCTION_TEST_MODE ,0x00 );break ; +/* i2c remotes */ +case SAA7134_BOARD_PINNACLE_PCTV_110i: +case SAA7134_BOARD_UPMOST_PURPLE_TV : + dev->has_remote =SAA7134_REMOTE_I2C ; +break ; }return 0 ; }
drivers/media/video/saa7134/saa7134-core.c +3 -1
@@ -712,10 +712,12 @@ static int saa7134_hwinit2(struct saa713SAA7134_IRQ2_INTE_PE |SAA7134_IRQ2_INTE_AR ; -if (dev->has_remote) +if (dev->has_remote ==SAA7134_REMOTE_GPIO ) irq2_mask |= (SAA7134_IRQ2_INTE_GPIO18 |SAA7134_IRQ2_INTE_GPIO18A |SAA7134_IRQ2_INTE_GPIO16 ); +else if (dev->has_remote ==SAA7134_REMOTE_I2C ) +request_module ("ir-kbd-i2c" );saa_writel (SAA7134_IRQ1 ,0 );saa_writel (SAA7134_IRQ2 , irq2_mask);
drivers/media/video/saa7134/saa7134.h +6 -0
@@ -213,6 +213,12 @@ struct saa7134_format {#define SAA7134_INPUT_MAX 8/* ----------------------------------------------------------- */ +/* Since we support 2 remote types, lets tell them apart */ + +#define SAA7134_REMOTE_GPIO 1 +#define SAA7134_REMOTE_I2C 2 + +/* ----------------------------------------------------------- */ /* Video Output Port Register Initialization Options */ #define SET_T_CODE_POLARITY_NON_INVERTED (1 << 0)
drivers/media/video/saa7134/saa7134-input.c +2 -1
@@ -716,7 +716,7 @@ int saa7134_input_init1(struct saa7134_dint polling =0 ;int ir_type =IR_TYPE_OTHER ; -if (!dev->has_remote) +if (dev->has_remote !=SAA7134_REMOTE_GPIO )return -ENODEV ;if (disable_ir)return -ENODEV ;
@@ -877,6 +877,7 @@ void saa7134_input_fini(struct saa7134_dvoid saa7134_set_i2c_ir (struct saa7134_dev *dev,struct IR_i2c *ir) {if (disable_ir) { +dprintk ("Found supported i2c remote, but IR has been disabled\n" ); ir->get_key=NULL ;return ; }
_______________________________________________________
Yahoo! Acesso Gr�tis: Internet r�pida e gr�tis.
Instale o discador agora!
http://br.acesso.yahoo.com/