Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6:
  V4L/DVB: bttv: Move I2C IR initialization
  V4L/DVB: Video : pwc : Fix regression in pwc_set_shutter_speed caused by bad 	constant => sizeof conversion.
  soc-camera: mt9t112: modify exiting conditions from standby mode
  V4L/DVB: cxusb: Select all required frontend and tuner modules
  V4L/DVB: dvb: l64781.ko broken with gcc 4.5
This commit is contained in:
Linus Torvalds 2010-02-20 16:56:09 -08:00
commit d0708b9739
7 changed files with 15 additions and 7 deletions

View File

@ -112,11 +112,13 @@ config DVB_USB_CXUSB
select DVB_MT352 if !DVB_FE_CUSTOMISE select DVB_MT352 if !DVB_FE_CUSTOMISE
select DVB_ZL10353 if !DVB_FE_CUSTOMISE select DVB_ZL10353 if !DVB_FE_CUSTOMISE
select DVB_DIB7000P if !DVB_FE_CUSTOMISE select DVB_DIB7000P if !DVB_FE_CUSTOMISE
select DVB_LGS8GL5 if !DVB_FE_CUSTOMISE
select DVB_TUNER_DIB0070 if !DVB_FE_CUSTOMISE select DVB_TUNER_DIB0070 if !DVB_FE_CUSTOMISE
select DVB_ATBM8830 if !DVB_FE_CUSTOMISE
select DVB_LGS8GXX if !DVB_FE_CUSTOMISE
select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMISE select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMISE select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMISE select MEDIA_TUNER_MXL5005S if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_MAX2165 if !MEDIA_TUNER_CUSTOMISE
help help
Say Y here to support the Conexant USB2.0 hybrid reference design. Say Y here to support the Conexant USB2.0 hybrid reference design.
Currently, only DVB and ATSC modes are supported, analog mode Currently, only DVB and ATSC modes are supported, analog mode

View File

@ -192,8 +192,8 @@ static int apply_frontend_param (struct dvb_frontend* fe, struct dvb_frontend_pa
spi_bias *= qam_tab[p->constellation]; spi_bias *= qam_tab[p->constellation];
spi_bias /= p->code_rate_HP + 1; spi_bias /= p->code_rate_HP + 1;
spi_bias /= (guard_tab[p->guard_interval] + 32); spi_bias /= (guard_tab[p->guard_interval] + 32);
spi_bias *= 1000ULL; spi_bias *= 1000;
spi_bias /= 1000ULL + ppm/1000; spi_bias /= 1000 + ppm/1000;
spi_bias *= p->code_rate_HP; spi_bias *= p->code_rate_HP;
val0x04 = (p->transmission_mode << 2) | p->guard_interval; val0x04 = (p->transmission_mode << 2) | p->guard_interval;

View File

@ -4461,6 +4461,7 @@ static int __devinit bttv_probe(struct pci_dev *dev,
request_modules(btv); request_modules(btv);
} }
init_bttv_i2c_ir(btv);
bttv_input_init(btv); bttv_input_init(btv);
/* everything is fine */ /* everything is fine */

View File

@ -388,7 +388,12 @@ int __devinit init_bttv_i2c(struct bttv *btv)
if (0 == btv->i2c_rc && i2c_scan) if (0 == btv->i2c_rc && i2c_scan)
do_i2c_scan(btv->c.v4l2_dev.name, &btv->i2c_client); do_i2c_scan(btv->c.v4l2_dev.name, &btv->i2c_client);
/* 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 (0 == btv->i2c_rc) { if (0 == btv->i2c_rc) {
struct i2c_board_info info; struct i2c_board_info info;
/* The external IR receiver is at i2c address 0x34 (0x35 for /* The external IR receiver is at i2c address 0x34 (0x35 for
@ -408,7 +413,6 @@ int __devinit init_bttv_i2c(struct bttv *btv)
strlcpy(info.type, "ir_video", I2C_NAME_SIZE); strlcpy(info.type, "ir_video", I2C_NAME_SIZE);
i2c_new_probed_device(&btv->c.i2c_adap, &info, addr_list); i2c_new_probed_device(&btv->c.i2c_adap, &info, addr_list);
} }
return btv->i2c_rc;
} }
int __devexit fini_bttv_i2c(struct bttv *btv) int __devexit fini_bttv_i2c(struct bttv *btv)

View File

@ -279,6 +279,7 @@ extern unsigned int bttv_debug;
extern unsigned int bttv_gpio; extern unsigned int bttv_gpio;
extern void bttv_gpio_tracking(struct bttv *btv, char *comment); extern void bttv_gpio_tracking(struct bttv *btv, char *comment);
extern int init_bttv_i2c(struct bttv *btv); 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); extern int fini_bttv_i2c(struct bttv *btv);
#define bttv_printk if (bttv_verbose) printk #define bttv_printk if (bttv_verbose) printk

View File

@ -514,7 +514,7 @@ static int mt9t112_init_pll(const struct i2c_client *client)
/* poll to verify out of standby. Must Poll this bit */ /* poll to verify out of standby. Must Poll this bit */
for (i = 0; i < 100; i++) { for (i = 0; i < 100; i++) {
mt9t112_reg_read(data, client, 0x0018); mt9t112_reg_read(data, client, 0x0018);
if (0x4000 & data) if (!(0x4000 & data))
break; break;
mdelay(10); mdelay(10);

View File

@ -753,7 +753,7 @@ int pwc_set_shutter_speed(struct pwc_device *pdev, int mode, int value)
buf[0] = 0xff; /* fixed */ buf[0] = 0xff; /* fixed */
ret = send_control_msg(pdev, ret = send_control_msg(pdev,
SET_LUM_CTL, SHUTTER_MODE_FORMATTER, &buf, sizeof(buf)); SET_LUM_CTL, SHUTTER_MODE_FORMATTER, &buf, 1);
if (!mode && ret >= 0) { if (!mode && ret >= 0) {
if (value < 0) if (value < 0)