Vadim AND Steve- Please test the current merged v4l+dvb cvs trees and confirm proper functionality of this implementation. comments follow.... Vadim Catana wrote: > Signed-off-by: Vadim Catana <skystar@xxxxxxxxxx> > > updated patches with modifications suggested by Johannes Stezenbach. > > Regards, > Vadim Catana I've applied your patches to v4l-kernel and dvb-kernel cvs, with some small changes (inline) : > diff -urN ./v4l-kernel.cvs/linux/drivers/media/video/cx88/cx88-dvb.c ./v4l-kernel/linux/drivers/media/video/cx88/cx88-dvb.c > --- ./v4l-kernel.cvs/linux/drivers/media/video/cx88/cx88-dvb.c 2005-11-13 20:11:21.000000000 +0200 > +++ ./v4l-kernel/linux/drivers/media/video/cx88/cx88-dvb.c 2005-11-22 11:37:32.000000000 +0200 > @@ -332,10 +332,29 @@ > return 0; > } > > +static void cx24123_enable_lnb_voltage(struct dvb_frontend* fe, int on) I renamed this from enable_lnb_voltage... > +{ > + struct cx8802_dev *dev= fe->dvb->priv; > + struct cx88_core *core = dev->core; > + > + if (on) You can see that i replaced (on == 1) with (on) ... If we need to change this back in the future, due to the chance of having possible values other than 0 and 1, we can change it again at that point, but I doubt it will be necessary right away... > + cx_write(MO_GP0_IO, 0x000006f9); > + else > + cx_write(MO_GP0_IO, 0x000006fB); > +} > + > static struct cx24123_config hauppauge_novas_config = { > .demod_address = 0x55, > + .use_isl6421 = 1, > .set_ts_params = cx24123_set_ts_param, > }; > + > +static struct cx24123_config kworld_dvbs_100_config = { > + .demod_address = 0x15, > + .use_isl6421 = 0, > + .set_ts_params = cx24123_set_ts_param, > + .enable_lnb_voltage = cx24123_enable_lnb_voltage, > +}; > #endif > diff -urN ./v4l-kernel.cvs/linux/drivers/media/video/cx88/cx88-i2c.c ./v4l-kernel/linux/drivers/media/video/cx88/cx88-i2c.c > --- ./v4l-kernel.cvs/linux/drivers/media/video/cx88/cx88-i2c.c 2005-10-16 15:13:58.000000000 +0300 > +++ ./v4l-kernel/linux/drivers/media/video/cx88/cx88-i2c.c 2005-11-20 20:38:23.000000000 +0200 > @@ -175,6 +175,7 @@ > [ 0xa0 >> 1 ] = "eeprom", > [ 0xc0 >> 1 ] = "tuner (analog)", > [ 0xc2 >> 1 ] = "tuner (analog/dvb)", > + [ 0x2a >> 1 ] = "tuner (cx24123)", > }; > > static void do_i2c_scan(char *name, struct i2c_client *c) I dropped this entirely -- You yourself have proven that cx24123 can be found at multiple i2c addresses ... Thank you for your contributions! -Michael Krufky