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 <tomlohave@xxxxxxxxx> > > > ------------------------------------------------------------------------ > > 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 <tomlohave@xxxxxxxxx> */ > + .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 <mo_fedotov@xxxxxxx> */ > .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 linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb