Re: [PATCH 1/2] bttv: Move I2C IR initialization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux