提交 bf2b3de2 编写于 作者: L Linus Torvalds

Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
  V4L/DVB (4818): Flexcop-usb: fix debug printk
  V4L/DVB (4817): Fix uses of "&&" where "&" was intended
  V4L/DVB (4816): Change tuner type for Avermedia A16AR
  V4L/DVB (4815): Remote support for Avermedia A16AR
  V4L/DVB (4814): Remote support for Avermedia 777
  V4L/DVB (4804): Fix missing i2c dependency for saa7110
  V4L/DVB (4802): Cx88: fix remote control on WinFast 2000XP Expert
  V4L/DVB (4795): Tda826x: use correct max frequency
...@@ -246,7 +246,7 @@ static int flexcop_usb_i2c_req(struct flexcop_usb *fc_usb, ...@@ -246,7 +246,7 @@ static int flexcop_usb_i2c_req(struct flexcop_usb *fc_usb,
wIndex = (chipaddr << 8 ) | addr; wIndex = (chipaddr << 8 ) | addr;
deb_i2c("i2c %2d: %02x %02x %02x %02x %02x %02x\n",func,request_type,req, deb_i2c("i2c %2d: %02x %02x %02x %02x %02x %02x\n",func,request_type,req,
((wValue && 0xff) << 8),wValue >> 8,((wIndex && 0xff) << 8),wIndex >> 8); wValue & 0xff, wValue >> 8, wIndex & 0xff, wIndex >> 8);
len = usb_control_msg(fc_usb->udev,pipe, len = usb_control_msg(fc_usb->udev,pipe,
req, req,
......
...@@ -121,7 +121,7 @@ static struct dvb_tuner_ops tda826x_tuner_ops = { ...@@ -121,7 +121,7 @@ static struct dvb_tuner_ops tda826x_tuner_ops = {
.info = { .info = {
.name = "Philips TDA826X", .name = "Philips TDA826X",
.frequency_min = 950000, .frequency_min = 950000,
.frequency_min = 2175000 .frequency_max = 2175000
}, },
.release = tda826x_release, .release = tda826x_release,
.sleep = tda826x_sleep, .sleep = tda826x_sleep,
......
...@@ -186,7 +186,7 @@ config VIDEO_KS0127 ...@@ -186,7 +186,7 @@ config VIDEO_KS0127
config VIDEO_SAA7110 config VIDEO_SAA7110
tristate "Philips SAA7110 video decoder" tristate "Philips SAA7110 video decoder"
depends on VIDEO_V4L1 depends on VIDEO_V4L1 && I2C
---help--- ---help---
Support for the Philips SAA7110 video decoders. Support for the Philips SAA7110 video decoders.
......
...@@ -4001,7 +4001,7 @@ static void __devinit init_PXC200(struct bttv *btv) ...@@ -4001,7 +4001,7 @@ static void __devinit init_PXC200(struct bttv *btv)
* - sleep 1ms * - sleep 1ms
* - write 0x0E * - write 0x0E
* read from GPIO_DATA into buf (uint_32) * read from GPIO_DATA into buf (uint_32)
* - if ( buf>>18 & 0x01 ) || ( buf>>19 && 0x01 != 0 ) * - if ( buf>>18 & 0x01 ) || ( buf>>19 & 0x01 != 0 )
* error. ERROR_CPLD_Check_Failed. * error. ERROR_CPLD_Check_Failed.
*/ */
/* ----------------------------------------------------------------------- */ /* ----------------------------------------------------------------------- */
......
...@@ -202,13 +202,19 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci) ...@@ -202,13 +202,19 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci)
ir->sampling = 1; ir->sampling = 1;
break; break;
case CX88_BOARD_WINFAST_DTV2000H: case CX88_BOARD_WINFAST_DTV2000H:
case CX88_BOARD_WINFAST2000XP_EXPERT:
ir_codes = ir_codes_winfast; ir_codes = ir_codes_winfast;
ir->gpio_addr = MO_GP0_IO; ir->gpio_addr = MO_GP0_IO;
ir->mask_keycode = 0x8f8; ir->mask_keycode = 0x8f8;
ir->mask_keyup = 0x100; ir->mask_keyup = 0x100;
ir->polling = 50; /* ms */ ir->polling = 50; /* ms */
break; break;
case CX88_BOARD_WINFAST2000XP_EXPERT:
ir_codes = ir_codes_winfast;
ir->gpio_addr = MO_GP0_IO;
ir->mask_keycode = 0x8f8;
ir->mask_keyup = 0x100;
ir->polling = 1; /* ms */
break;
case CX88_BOARD_IODATA_GVBCTV7E: case CX88_BOARD_IODATA_GVBCTV7E:
ir_codes = ir_codes_iodata_bctv7e; ir_codes = ir_codes_iodata_bctv7e;
ir->gpio_addr = MO_GP0_IO; ir->gpio_addr = MO_GP0_IO;
...@@ -216,7 +222,7 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci) ...@@ -216,7 +222,7 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci)
ir->mask_keydown = 0x02; ir->mask_keydown = 0x02;
ir->polling = 5; /* ms */ ir->polling = 5; /* ms */
break; break;
case CX88_BOARD_PROLINK_PLAYTVPVR: case CX88_BOARD_PROLINK_PLAYTVPVR:
case CX88_BOARD_PIXELVIEW_PLAYTV_ULTRA_PRO: case CX88_BOARD_PIXELVIEW_PLAYTV_ULTRA_PRO:
ir_codes = ir_codes_pixelview; ir_codes = ir_codes_pixelview;
ir->gpio_addr = MO_GP1_IO; ir->gpio_addr = MO_GP1_IO;
......
...@@ -2969,7 +2969,7 @@ struct saa7134_board saa7134_boards[] = { ...@@ -2969,7 +2969,7 @@ struct saa7134_board saa7134_boards[] = {
/* Petr Baudis <pasky@ucw.cz> */ /* Petr Baudis <pasky@ucw.cz> */
.name = "AVerMedia TV Hybrid A16AR", .name = "AVerMedia TV Hybrid A16AR",
.audio_clock = 0x187de7, .audio_clock = 0x187de7,
.tuner_type = TUNER_PHILIPS_TDA8290, /* untested */ .tuner_type = TUNER_PHILIPS_TD1316, /* untested */
.radio_type = TUNER_TEA5767, /* untested */ .radio_type = TUNER_TEA5767, /* untested */
.tuner_addr = ADDR_UNSET, .tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET,
...@@ -3718,6 +3718,7 @@ int saa7134_board_init1(struct saa7134_dev *dev) ...@@ -3718,6 +3718,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
case SAA7134_BOARD_AVERMEDIA_STUDIO_307: case SAA7134_BOARD_AVERMEDIA_STUDIO_307:
case SAA7134_BOARD_AVERMEDIA_307: case SAA7134_BOARD_AVERMEDIA_307:
case SAA7134_BOARD_AVERMEDIA_GO_007_FM: case SAA7134_BOARD_AVERMEDIA_GO_007_FM:
case SAA7134_BOARD_AVERMEDIA_777:
/* case SAA7134_BOARD_SABRENT_SBTTVFM: */ /* not finished yet */ /* case SAA7134_BOARD_SABRENT_SBTTVFM: */ /* not finished yet */
case SAA7134_BOARD_VIDEOMATE_TV_PVR: case SAA7134_BOARD_VIDEOMATE_TV_PVR:
case SAA7134_BOARD_VIDEOMATE_GOLD_PLUS: case SAA7134_BOARD_VIDEOMATE_GOLD_PLUS:
...@@ -3734,6 +3735,7 @@ int saa7134_board_init1(struct saa7134_dev *dev) ...@@ -3734,6 +3735,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
case SAA7134_BOARD_FLYDVBT_LR301: case SAA7134_BOARD_FLYDVBT_LR301:
case SAA7134_BOARD_FLYDVBTDUO: case SAA7134_BOARD_FLYDVBTDUO:
case SAA7134_BOARD_PROTEUS_2309: case SAA7134_BOARD_PROTEUS_2309:
case SAA7134_BOARD_AVERMEDIA_A16AR:
dev->has_remote = SAA7134_REMOTE_GPIO; dev->has_remote = SAA7134_REMOTE_GPIO;
break; break;
case SAA7134_BOARD_FLYDVBS_LR300: case SAA7134_BOARD_FLYDVBS_LR300:
...@@ -3772,7 +3774,6 @@ int saa7134_board_init1(struct saa7134_dev *dev) ...@@ -3772,7 +3774,6 @@ int saa7134_board_init1(struct saa7134_dev *dev)
saa_writeb(SAA7134_GPIO_GPMODE3, 0x08); saa_writeb(SAA7134_GPIO_GPMODE3, 0x08);
saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x00); saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x00);
break; break;
case SAA7134_BOARD_AVERMEDIA_A16AR:
case SAA7134_BOARD_AVERMEDIA_CARDBUS: case SAA7134_BOARD_AVERMEDIA_CARDBUS:
/* power-up tuner chip */ /* power-up tuner chip */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0xffffffff, 0xffffffff); saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0xffffffff, 0xffffffff);
......
...@@ -185,7 +185,6 @@ int saa7134_input_init1(struct saa7134_dev *dev) ...@@ -185,7 +185,6 @@ int saa7134_input_init1(struct saa7134_dev *dev)
case SAA7134_BOARD_AVERMEDIA_STUDIO_305: case SAA7134_BOARD_AVERMEDIA_STUDIO_305:
case SAA7134_BOARD_AVERMEDIA_STUDIO_307: case SAA7134_BOARD_AVERMEDIA_STUDIO_307:
case SAA7134_BOARD_AVERMEDIA_GO_007_FM: case SAA7134_BOARD_AVERMEDIA_GO_007_FM:
case SAA7134_BOARD_AVERMEDIA_A16AR:
ir_codes = ir_codes_avermedia; ir_codes = ir_codes_avermedia;
mask_keycode = 0x0007C8; mask_keycode = 0x0007C8;
mask_keydown = 0x000010; mask_keydown = 0x000010;
...@@ -194,6 +193,15 @@ int saa7134_input_init1(struct saa7134_dev *dev) ...@@ -194,6 +193,15 @@ int saa7134_input_init1(struct saa7134_dev *dev)
saa_setb(SAA7134_GPIO_GPMODE0, 0x4); saa_setb(SAA7134_GPIO_GPMODE0, 0x4);
saa_setb(SAA7134_GPIO_GPSTATUS0, 0x4); saa_setb(SAA7134_GPIO_GPSTATUS0, 0x4);
break; break;
case SAA7134_BOARD_AVERMEDIA_777:
case SAA7134_BOARD_AVERMEDIA_A16AR:
ir_codes = ir_codes_avermedia;
mask_keycode = 0x02F200;
mask_keydown = 0x000400;
polling = 50; // ms
/* Without this we won't receive key up events */
saa_setb(SAA7134_GPIO_GPMODE1, 0x1);
saa_setb(SAA7134_GPIO_GPSTATUS1, 0x1);
case SAA7134_BOARD_KWORLD_TERMINATOR: case SAA7134_BOARD_KWORLD_TERMINATOR:
ir_codes = ir_codes_pixelview; ir_codes = ir_codes_pixelview;
mask_keycode = 0x00001f; mask_keycode = 0x00001f;
......
...@@ -468,7 +468,7 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee, ...@@ -468,7 +468,7 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee,
(eeprom_data[i+6] << 8) + (eeprom_data[i+6] << 8) +
(eeprom_data[i+7] << 16); (eeprom_data[i+7] << 16);
if ( (eeprom_data[i + 8] && 0xf0) && if ( (eeprom_data[i + 8] & 0xf0) &&
(tvee->serial_number < 0xffffff) ) { (tvee->serial_number < 0xffffff) ) {
tvee->MAC_address[0] = 0x00; tvee->MAC_address[0] = 0x00;
tvee->MAC_address[1] = 0x0D; tvee->MAC_address[1] = 0x0D;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册