Hi, Jean Delvare wrote: > Move I2C IR initialization from just after I2C bus setup to right > before non-I2C IR initialization. This avoids the case where an I2C IR > device is blocking audio support (at least the PV951 suffers from > this). It is also more logical to group IR support together, > regardless of the connectivity. Something could have gone wrong because this patch and the patch at http://linuxtv.org/hg/v4l-dvb/rev/659e08177aa3 has the #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30) and #endif pair at different places. The current result is the following compiler warning: bttv-i2c.c: In function 'init_bttv_i2c': bttv-i2c.c:440: warning: control reaches end of non-void function Regard, Márton Németh > > This fixes bug #15184: > http://bugzilla.kernel.org/show_bug.cgi?id=15184 > > Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx> > --- > As this fixes a regression, I suggest pushing to Linus quickly. This is > a candidate for 2.6.32-stable too. > > linux/drivers/media/video/bt8xx/bttv-driver.c | 1 + > linux/drivers/media/video/bt8xx/bttv-i2c.c | 10 +++++++--- > linux/drivers/media/video/bt8xx/bttvp.h | 1 + > 3 files changed, 9 insertions(+), 3 deletions(-) > > --- v4l-dvb.orig/linux/drivers/media/video/bt8xx/bttv-i2c.c 2009-12-11 09:47:47.000000000 +0100 > +++ v4l-dvb/linux/drivers/media/video/bt8xx/bttv-i2c.c 2010-02-16 18:14:34.000000000 +0100 > @@ -409,9 +409,14 @@ int __devinit init_bttv_i2c(struct bttv > } > if (0 == btv->i2c_rc && i2c_scan) > do_i2c_scan(btv->c.v4l2_dev.name, &btv->i2c_client); > -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30) > > - /* Instantiate the IR receiver device, if present */ > + return btv->i2c_rc; > +} > + > +/* Instantiate the I2C IR receiver device, if present */ > +void __devinit init_bttv_i2c_ir(struct bttv *btv) > +{ > +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30) > if (0 == btv->i2c_rc) { > struct i2c_board_info info; > /* The external IR receiver is at i2c address 0x34 (0x35 for > @@ -432,7 +437,6 @@ int __devinit init_bttv_i2c(struct bttv > i2c_new_probed_device(&btv->c.i2c_adap, &info, addr_list); > } > #endif > - return btv->i2c_rc; > } > > int __devexit fini_bttv_i2c(struct bttv *btv) > --- v4l-dvb.orig/linux/drivers/media/video/bt8xx/bttvp.h 2009-04-06 10:10:24.000000000 +0200 > +++ v4l-dvb/linux/drivers/media/video/bt8xx/bttvp.h 2010-02-16 18:13:31.000000000 +0100 > @@ -281,6 +281,7 @@ extern unsigned int bttv_debug; > extern unsigned int bttv_gpio; > extern void bttv_gpio_tracking(struct bttv *btv, char *comment); > extern int init_bttv_i2c(struct bttv *btv); > +extern void init_bttv_i2c_ir(struct bttv *btv); > extern int fini_bttv_i2c(struct bttv *btv); > > #define bttv_printk if (bttv_verbose) printk > --- v4l-dvb.orig/linux/drivers/media/video/bt8xx/bttv-driver.c 2009-12-11 09:47:47.000000000 +0100 > +++ v4l-dvb/linux/drivers/media/video/bt8xx/bttv-driver.c 2010-02-16 18:13:31.000000000 +0100 > @@ -4498,6 +4498,7 @@ static int __devinit bttv_probe(struct p > request_modules(btv); > } > > + init_bttv_i2c_ir(btv); > bttv_input_init(btv); > > /* everything is fine */ > > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html