C.Y.M wrote: > C.Y.M wrote: > >>>- This patch is incomplete. Full patches were created by >>> Jean Delvare <khali@xxxxxxxxxxxx> and posted to lkml: >> >> >>Ok, here is a full patch for the changes to "DVB" cards and 2.6.14-rc1 kernel. >>BTW, my Nexus card seems to be working really well with latest changes. >> > > > Oops, forgot one line in the flexcop driver. Here is a fixed patch. > > Regards, I think you forgot another line: > > > ------------------------------------------------------------------------ > > --- dvb-kernel/linux/drivers/media/common/saa7146_i2c.c.orig 2005-09-01 13:22:29.000000000 -0700 > +++ dvb-kernel/linux/drivers/media/common/saa7146_i2c.c 2005-09-14 23:59:53.000000000 -0700 > @@ -386,8 +386,6 @@ > > /* exported algorithm data */ > static struct i2c_algorithm saa7146_algo = { > - .name = "saa7146 i2c algorithm", > - .id = I2C_ALGO_SAA7146, here, i would assume there should be something like: + .id = I2C_HW_SAA7146, But even still, I think that it would be much safer to just pull the original patches from Jean Delvare in -git, and apply those to dvb cvs. The patch CYM made could be used by 2.6.14-rcX users in the interim. Johannes, What is exactly the situation? I volunteer to help you and make a compat.h, similar to v4l cvs, so that we can make this backwards-compatable. All I'm waiting for is a green light from you. Here's how I handled this in v4l cvs: diff -u -r1.17 -r1.18 --- video4linux/compat.h 2005/09/08 22:19:56 1.17 +++ video4linux/compat.h 2005/09/19 01:20:14 1.18 @@ -56,6 +56,12 @@ #if !defined(I2C_HW_B_CX2388x) # define I2C_HW_B_CX2388x I2C_HW_B_BT848 #endif +#if !defined(I2C_HW_SAA7134) +# define I2C_HW_SAA7134 I2C_ALGO_SAA7134 +#endif +#if !defined(I2C_HW_SAA7146) +# define I2C_HW_SAA7146 I2C_ALGO_SAA7146 +#endif #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,9) #define __le32 __u32 > .master_xfer = saa7146_i2c_xfer, > .functionality = saa7146_i2c_func, > }; > @@ -408,7 +406,7 @@ > i2c_adapter->dev.parent = &dev->pci->dev; > i2c_adapter->algo = &saa7146_algo; > i2c_adapter->algo_data = NULL; > - i2c_adapter->id = I2C_ALGO_SAA7146; > + i2c_adapter->id = I2C_HW_SAA7146; > i2c_adapter->timeout = SAA7146_I2C_TIMEOUT; > i2c_adapter->retries = SAA7146_I2C_RETRIES; > } > --- dvb-kernel/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c.orig 2005-09-19 13:20:51.000000000 -0700 > +++ dvb-kernel/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c 2005-09-19 13:25:32.000000000 -0700 > @@ -1474,8 +1474,6 @@ > > > static struct i2c_algorithm ttusb_dec_algo = { > - .name = "ttusb dec i2c algorithm", > - .id = I2C_ALGO_BIT, > .master_xfer = master_xfer, > .functionality = functionality, > }; > @@ -1527,7 +1525,6 @@ > #endif > ttusb->i2c_adap.algo = &ttusb_dec_algo; > ttusb->i2c_adap.algo_data = NULL; > - ttusb->i2c_adap.id = I2C_ALGO_BIT; > > result = i2c_add_adapter(&ttusb->i2c_adap); > if (result) { > --- dvb-kernel/linux/drivers/media/dvb/dvb-usb/cxusb.c.orig 2005-09-19 13:32:44.000000000 -0700 > +++ dvb-kernel/linux/drivers/media/dvb/dvb-usb/cxusb.c 2005-09-19 13:32:59.000000000 -0700 > @@ -132,8 +132,6 @@ > } > > static struct i2c_algorithm cxusb_i2c_algo = { > - .name = "Conexant USB I2C algorithm", > - .id = I2C_ALGO_BIT, > .master_xfer = cxusb_i2c_xfer, > .functionality = cxusb_i2c_func, > }; > --- dvb-kernel/linux/drivers/media/dvb/dvb-usb/dibusb-common.c.orig 2005-09-19 13:34:55.000000000 -0700 > +++ dvb-kernel/linux/drivers/media/dvb/dvb-usb/dibusb-common.c 2005-09-19 13:35:07.000000000 -0700 > @@ -155,8 +155,6 @@ > } > > struct i2c_algorithm dibusb_i2c_algo = { > - .name = "DiBcom USB I2C algorithm", > - .id = I2C_ALGO_BIT, > .master_xfer = dibusb_i2c_xfer, > .functionality = dibusb_i2c_func, > }; > --- dvb-kernel/linux/drivers/media/dvb/dvb-usb/digitv.c.orig 2005-09-19 13:36:45.000000000 -0700 > +++ dvb-kernel/linux/drivers/media/dvb/dvb-usb/digitv.c 2005-09-19 13:36:56.000000000 -0700 > @@ -77,8 +77,6 @@ > } > > static struct i2c_algorithm digitv_i2c_algo = { > - .name = "Nebula DigiTV USB I2C algorithm", > - .id = I2C_ALGO_BIT, > .master_xfer = digitv_i2c_xfer, > .functionality = digitv_i2c_func, > }; > --- dvb-kernel/linux/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c.orig 2005-09-19 13:39:22.000000000 -0700 > +++ dvb-kernel/linux/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c 2005-09-19 13:39:44.000000000 -0700 > @@ -27,7 +27,6 @@ > #endif > d->i2c_adap.algo = d->props.i2c_algo; > d->i2c_adap.algo_data = NULL; > - d->i2c_adap.id = I2C_ALGO_BIT; > > i2c_set_adapdata(&d->i2c_adap, d); > > --- dvb-kernel/linux/drivers/media/dvb/pluto2/pluto2.c.orig 2005-09-19 13:42:17.000000000 -0700 > +++ dvb-kernel/linux/drivers/media/dvb/pluto2/pluto2.c 2005-09-19 13:42:43.000000000 -0700 > @@ -628,7 +628,6 @@ > i2c_set_adapdata(&pluto->i2c_adap, pluto); > strcpy(pluto->i2c_adap.name, DRIVER_NAME); > pluto->i2c_adap.owner = THIS_MODULE; > - pluto->i2c_adap.id = I2C_ALGO_BIT; > pluto->i2c_adap.class = I2C_CLASS_TV_DIGITAL; > pluto->i2c_adap.dev.parent = &pdev->dev; > pluto->i2c_adap.algo_data = &pluto->i2c_bit; > --- dvb-kernel/linux/drivers/media/dvb/b2c2/flexcop-i2c.c.orig 2005-09-19 14:04:50.000000000 -0700 > +++ dvb-kernel/linux/drivers/media/dvb/b2c2/flexcop-i2c.c 2005-09-19 14:05:16.000000000 -0700 > @@ -172,8 +172,6 @@ > } > > static struct i2c_algorithm flexcop_algo = { > - .name = "FlexCop I2C algorithm", > - .id = I2C_ALGO_BIT, > .master_xfer = flexcop_master_xfer, > .functionality = flexcop_i2c_func, > }; > @@ -192,7 +190,6 @@ > fc->i2c_adap.class = I2C_CLASS_TV_DIGITAL; > fc->i2c_adap.algo = &flexcop_algo; > fc->i2c_adap.algo_data = NULL; > - fc->i2c_adap.id = I2C_ALGO_BIT; > > if ((ret = i2c_add_adapter(&fc->i2c_adap)) < 0) > return ret; > > > ------------------------------------------------------------------------ > > _______________________________________________ > > linux-dvb@xxxxxxxxxxx > http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb -- Michael Krufky