tomlohave wrote:
> Hello,
> 
> Here is new patch to support hvr1110.
> Can someone apply it and / or give me feedback about it if something is
> wrong.

Tom, Please see some comments inline below:

> signed-off-by : Thomas Genty <[EMAIL PROTECTED]>
> 
> 
> ------------------------------------------------------------------------
> 
> diff -uprN v4l-dvb/linux/drivers/media/video/saa7134/saa7134-cards.c 
> v4l-dvb-hvr1110/linux/drivers/media/video/saa7134/saa7134-cards.c
> --- v4l-dvb/linux/drivers/media/video/saa7134/saa7134-cards.c 2006-11-03 
> 14:49:23.000000000 +0100
> +++ v4l-dvb-hvr1110/linux/drivers/media/video/saa7134/saa7134-cards.c 
> 2006-11-03 15:25:10.000000000 +0100
> @@ -3098,6 +3098,40 @@ struct saa7134_board saa7134_boards[] = 
>                       .gpio   = 0x0200000,
>               },
>       },
> +     [SAA7134_BOARD_HAUPPAUGE_HVR1110] = {
> +             /* Thomas Genty <[EMAIL PROTECTED]> */
> +             .name           = "Hauppauge WinTV-HVR1110 DVB-T/Hybrid",
> +             .audio_clock    = 0x00187de7,
> +             .tuner_type     = TUNER_PHILIPS_TDA8290,
> +             .radio_type     = UNSET,
> +             .tuner_addr     = ADDR_UNSET,
> +             .radio_addr     = ADDR_UNSET,
> +             .mpeg           = SAA7134_MPEG_DVB,
> +             .gpiomask       = 0x000200000,
> +             .inputs         = {{
> +                     .name = name_tv,
> +                     .vmux = 1,
> +                     .amux = TV,
> +                     .tv   = 1,
> +             }/*,{                           // need test

dont use /* comments */ to disable those inputs, instead, enclose inside an #if 
0 block #endif

> +                     .name = name_comp1,
> +                     .vmux = 2,
> +                     .amux = LINE2,
> +             },{
> +                     .name = name_comp2,
> +                     .vmux = 0,
> +                     .amux = LINE2,
> +             },{
> +                     .name = name_svideo,
> +                     .vmux = 8,
> +                     .amux = LINE2,
> +             }*/},

...can't you just test those inputs as well yourself and make it complete?

> +             .radio = {
> +                     .name = name_radio,
> +                     .amux   = TV,
> +                     .gpio   = 0x0200000,
> +             },
> +     },

Is radio tested?

>       [SAA7134_BOARD_AVERMEDIA_STUDIO_507] = {

Please add new cards to the END of the array -- not the middle of it.

>               /* Mikhail Fedotov <[EMAIL PROTECTED]> */
>               .name           = "Avermedia AVerTV Studio 507",
> @@ -3783,6 +3817,12 @@ struct pci_device_id saa7134_pci_tbl[] =
>       },{
>               .vendor       = PCI_VENDOR_ID_PHILIPS,
>               .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
> +             .subvendor    = 0x0070,
> +             .subdevice    = 0x6701,
> +             .driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,
> +     },{
> +             .vendor       = PCI_VENDOR_ID_PHILIPS,
> +             .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,

Please move this to the END of the pci ids array -- not the middle.

>               .subvendor    = 0x1461, /* Avermedia Technologies Inc */
>               .subdevice    = 0x9715,
>               .driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_507,
> @@ -3935,6 +3975,7 @@ int saa7134_board_init1(struct saa7134_d
>       case SAA7134_BOARD_FLYDVBT_LR301:
>       case SAA7134_BOARD_FLYDVBTDUO:
>       case SAA7134_BOARD_PROTEUS_2309:
> +     /*case SAA7134_BOARD_HAUPPAUGE_HVR1110:*/ //Todo

^^^^^ Please either remove this, or enclose it inside an #if 0 block, like so:

        case SAA7134_BOARD_PROTEUS_2309:
+#if 0
+       case SAA7134_BOARD_HAUPPAUGE_HVR1110:
+#endif
                dev->has_remote = SAA7134_REMOTE_GPIO;

...in this case, just remove it -- add it later when ready.

>               dev->has_remote = SAA7134_REMOTE_GPIO;
>               break;
>       case SAA7134_BOARD_FLYDVBS_LR300:
> @@ -4129,6 +4170,7 @@ int saa7134_board_init2(struct saa7134_d
>       case SAA7134_BOARD_TEVION_DVBT_220RF:
>       case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
>       case SAA7134_BOARD_MEDION_MD8800_QUADRO:
> +     case SAA7134_BOARD_HAUPPAUGE_HVR1110:
>               /* this is a hybrid board, initialize to analog mode
>                * and configure firmware eeprom address
>                */
> diff -uprN v4l-dvb/linux/drivers/media/video/saa7134/saa7134-dvb.c 
> v4l-dvb-hvr1110/linux/drivers/media/video/saa7134/saa7134-dvb.c
> --- v4l-dvb/linux/drivers/media/video/saa7134/saa7134-dvb.c   2006-11-03 
> 14:49:23.000000000 +0100
> +++ v4l-dvb-hvr1110/linux/drivers/media/video/saa7134/saa7134-dvb.c   
> 2006-11-03 15:28:50.000000000 +0100
> @@ -900,6 +900,17 @@ static struct tda1004x_config pinnacle_p
>  };
>  
>  /* ------------------------------------------------------------------ */
> +static struct tda1004x_config hauppauge_hvr_1110_config = {
> +     .demod_address = 0x08,
> +     .invert        = 1,
> +     .invert_oclk   = 0,
> +     .xtal_freq     = TDA10046_XTAL_16M,
> +     .agc_config    = TDA10046_AGC_TDA827X,
> +     .if_freq       = TDA10046_FREQ_045,
> +     .request_firmware = philips_tda1004x_request_firmware,
> +};
> +
> +/* ------------------------------------------------------------------ */
>  
>  static struct tda1004x_config asus_p7131_dual_config = {
>       .demod_address = 0x08,
> @@ -1222,6 +1233,17 @@ static int dvb_init(struct saa7134_dev *
>                       dev->dvb.frontend->ops.tuner_ops.set_params = 
> philips_tiger_tuner_set_params;
>               }
>               break;
> +     case SAA7134_BOARD_HAUPPAUGE_HVR1110:
> +             dev->dvb.frontend = dvb_attach(tda10046_attach,
> +                                            &hauppauge_hvr_1110_config,
> +                                            &dev->i2c_adap);
> +             if (dev->dvb.frontend) {
> +                     dev->dvb.frontend->ops.i2c_gate_ctrl = 
> tda8290_i2c_gate_ctrl;
> +                     dev->dvb.frontend->ops.tuner_ops.init = 
> philips_tiger_tuner_init;
> +                     dev->dvb.frontend->ops.tuner_ops.sleep = 
> philips_tiger_tuner_sleep;
> +                     dev->dvb.frontend->ops.tuner_ops.set_params = 
> philips_tiger_tuner_set_params;
> +             }
> +             break;
>       case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
>               dev->dvb.frontend = dvb_attach(tda10046_attach,
>                                              &asus_p7131_dual_config,
> diff -uprN v4l-dvb/linux/drivers/media/video/saa7134/saa7134.h 
> v4l-dvb-hvr1110/linux/drivers/media/video/saa7134/saa7134.h
> --- v4l-dvb/linux/drivers/media/video/saa7134/saa7134.h       2006-11-03 
> 14:49:23.000000000 +0100
> +++ v4l-dvb-hvr1110/linux/drivers/media/video/saa7134/saa7134.h       
> 2006-11-03 15:31:48.000000000 +0100
> @@ -239,6 +239,7 @@ struct saa7134_format {
>  #define SAA7134_BOARD_PINNACLE_PCTV_310i  101
>  #define SAA7134_BOARD_AVERMEDIA_STUDIO_507 102
>  #define SAA7134_BOARD_VIDEOMATE_DVBT_200A  103
> +#define SAA7134_BOARD_HAUPPAUGE_HVR1110 104
>  
>  #define SAA7134_MAXBOARDS 8
>  #define SAA7134_INPUT_MAX 8
> diff -uprN v4l-dvb/linux/drivers/media/video/saa7134/saa7134-input.c 
> v4l-dvb-hvr1110/linux/drivers/media/video/saa7134/saa7134-input.c
> --- v4l-dvb/linux/drivers/media/video/saa7134/saa7134-input.c 2006-11-03 
> 14:49:23.000000000 +0100
> +++ v4l-dvb-hvr1110/linux/drivers/media/video/saa7134/saa7134-input.c 
> 2006-11-03 15:30:39.000000000 +0100
> @@ -223,6 +223,8 @@ int saa7134_input_init1(struct saa7134_d
>               mask_keydown = 0x000010;
>               polling      = 50; // ms
>               break;
> +     /*case SAA7134_BOARD_HAUPPAUGE_HVR1110:
> +             break;*/ // Todo

^^^^^^^^^ Please remove this

>       case SAA7134_BOARD_VIDEOMATE_TV_PVR:
>       case SAA7134_BOARD_VIDEOMATE_GOLD_PLUS:
>       case SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII:
> 

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

Reply via email to