Em Qui, 2005-12-01 ?s 01:54 -0500, Steve Toth escreveu: > >> > >> No, we shouldn't add cx88 specific stuff to tuner.ko, but in > >> cx88 where the VIDIOC_S_FREQUENCY ioctl is processed you should be able > >> to open the i2c gate before cx88_call_i2c_clients(), no? > >> > >> > > I was trying to avoid any changes outside of cx88_dvb.ko -- It was > > probably unavoidable. > > > > A patch is attached for review. > > > I cleaned up this patch again this evening. See Attached. > > --- linux/Documentation/video4linux/CARDLIST.cx88 22 Nov 2005 19:32:26 -0000 1.16 > +++ linux/Documentation/video4linux/CARDLIST.cx88 1 Dec 2005 06:39:31 -0000 > @@ -38,3 +38,5 @@ > 37 -> Hauppauge Nova-S-Plus DVB-S [0070:9201,0070:9202] > 38 -> Hauppauge Nova-SE2 DVB-S [0070:9200] > 39 -> KWorld DVB-S 100 [17de:08b2] > + 40 -> Hauppauge WinTV-HVR1100 DVB-T/Hybrid [0070:9400,0070:9402] > + 41 -> Hauppauge WinTV-HVR1100 DVB-T/Hybrid (Low Profile) [0070:9800,0070:9802] You don't need to edit this by hand. Some scripts do regenerate cardlists at commit. > --- linux/drivers/media/video/cx88/cx88-i2c.c 16 Oct 2005 12:13:58 -0000 1.33 > +++ linux/drivers/media/video/cx88/cx88-i2c.c 1 Dec 2005 06:39:32 -0000 > @@ -140,7 +140,20 @@ void cx88_call_i2c_clients(struct cx88_c > { > if (0 != core->i2c_rc) > return; > - i2c_clients_command(&core->i2c_adap, cmd, arg); > + > + if (core->dvbdev == NULL) { > + i2c_clients_command(&core->i2c_adap, cmd, arg); > + } else { > + > + if (core->dvbdev->dvb.frontend->ops->enable_plli2c) > + core->dvbdev->dvb.frontend->ops->enable_plli2c(core->dvbdev->dvb.frontend); > + > + i2c_clients_command(&core->i2c_adap, cmd, arg); > + > + if (core->dvbdev->dvb.frontend->ops->disable_plli2c) > + core->dvbdev->dvb.frontend->ops->disable_plli2c(core->dvbdev->dvb.frontend); > + } > + > } Hmmm... IMHO, cx88-i2c is not the best place for it. It seems to be better somewere at cx88-dvb or at a merger tuner-simple/dvb-pll code. > Cheers, Mauro.