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
> ---
> 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.0 +0100
> +++ v4l-dvb/linux/drivers/media/video/bt8xx/bttv-i2c.c2010-02-16
> 18:14:34.0 +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.0 +0200
> +++ v4l-dvb/linux/drivers/media/video/bt8xx/bttvp.h 2010-02-16
> 18:13:31.0 +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.0 +0100
> +++ v4l-dvb/linux/drivers/media/video/bt8xx/bttv-driver.c 2010-02-16
> 18:13:31.0 +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 majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html