Skip to content

Commit

Permalink
Merge master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb
Browse files Browse the repository at this point in the history
* master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
  V4L/DVB (4712): Fix warning when compiling on x86_i64
  V4L/DVB (4711): Radio: No need to return void
  V4L/DVB (4708): Add tveeprom support for Philips FM1236/FM1216ME MK5
  V4L/DVB (4707): 4linux: complete conversion to hotplug safe PCI API
  V4L/DVB (4706): Do not enable VIDEO_V4L2 unconditionally
  V4L/DVB (4704): SAA713x: fixed compile warning in SECAM fixup
  V4L/DVB (4703): Add support for the ASUS EUROPA2 OEM board
  V4L/DVB (4702): Fix: set antenna input for DVB-T for Asus P7131 Dual hybrid
  V4L/DVB (4701): Saa713x audio fixes
  V4L/DVB (4676a): Remove Kconfig item for DiB7000M support
  • Loading branch information
Linus Torvalds committed Oct 4, 2006
2 parents 4d5e392 + e163420 commit ab8e823
Show file tree
Hide file tree
Showing 13 changed files with 202 additions and 77 deletions.
1 change: 1 addition & 0 deletions Documentation/video4linux/CARDLIST.saa7134
Original file line number Diff line number Diff line change
Expand Up @@ -98,3 +98,4 @@
97 -> LifeView FlyDVB-S /Acorp TV134DS [5168:0300,4e42:0300]
98 -> Proteus Pro 2309 [0919:2003]
99 -> AVerMedia TV Hybrid A16AR [1461:2c00]
100 -> Asus Europa2 OEM [1043:4860]
1 change: 1 addition & 0 deletions drivers/media/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ config VIDEO_V4L1_COMPAT

config VIDEO_V4L2
bool
depends on VIDEO_DEV
default y

source "drivers/media/video/Kconfig"
Expand Down
1 change: 0 additions & 1 deletion drivers/media/dvb/dvb-usb/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ config DVB_USB_DIBUSB_MC
config DVB_USB_DIB0700
tristate "DiBcom DiB0700 USB DVB devices (see help for supported devices)"
depends on DVB_USB
select DVB_DIB7000M
select DVB_DIB3000MC
select DVB_TUNER_MT2060
help
Expand Down
5 changes: 3 additions & 2 deletions drivers/media/dvb/dvb-usb/usb-urb.c
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,9 @@ static int usb_allocate_stream_buffers(struct usb_data_stream *stream, int num,
usb_free_stream_buffers(stream);
return -ENOMEM;
}
deb_mem("buffer %d: %p (dma: %u)\n",
stream->buf_num, stream->buf_list[stream->buf_num], stream->dma_addr[stream->buf_num]);
deb_mem("buffer %d: %p (dma: %Lu)\n",
stream->buf_num,
stream->buf_list[stream->buf_num], (long long)stream->dma_addr[stream->buf_num]);
memset(stream->buf_list[stream->buf_num],0,size);
stream->state |= USB_STATE_URB_BUF;
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/radio/radio-gemtek-pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -449,7 +449,7 @@ static int __init gemtek_pci_init_module( void )

static void __exit gemtek_pci_cleanup_module( void )
{
return pci_unregister_driver( &gemtek_pci_driver );
pci_unregister_driver(&gemtek_pci_driver);
}

MODULE_AUTHOR( "Vladimir Shebordaev <vshebordaev@mail.ru>" );
Expand Down
35 changes: 35 additions & 0 deletions drivers/media/video/saa7134/saa7134-cards.c
Original file line number Diff line number Diff line change
Expand Up @@ -2994,6 +2994,34 @@ struct saa7134_board saa7134_boards[] = {
.amux = LINE1,
},
},
[SAA7134_BOARD_ASUS_EUROPA2_HYBRID] = {
.name = "Asus Europa2 OEM",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_FMD1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT| TDA9887_PORT1_ACTIVE | TDA9887_PORT2_ACTIVE,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.name = name_tv,
.vmux = 3,
.amux = TV,
.tv = 1,
},{
.name = name_comp1,
.vmux = 4,
.amux = LINE2,
},{
.name = name_svideo,
.vmux = 8,
.amux = LINE2,
}},
.radio = {
.name = name_radio,
.amux = LINE1,
},
},
};

const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
Expand Down Expand Up @@ -3596,6 +3624,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
.subvendor = 0x1461,
.subdevice = 0x2c00,
.driver_data = SAA7134_BOARD_AVERMEDIA_A16AR,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0x1043,
.subdevice = 0x4860,
.driver_data = SAA7134_BOARD_ASUS_EUROPA2_HYBRID,
},{
/* --- boards without eeprom + subsystem ID --- */
.vendor = PCI_VENDOR_ID_PHILIPS,
Expand Down Expand Up @@ -3871,6 +3905,7 @@ int saa7134_board_init2(struct saa7134_dev *dev)
break;
case SAA7134_BOARD_PHILIPS_EUROPA:
case SAA7134_BOARD_VIDEOMATE_DVBT_300:
case SAA7134_BOARD_ASUS_EUROPA2_HYBRID:
/* The Philips EUROPA based hybrid boards have the tuner connected through
* the channel decoder. We have to make it transparent to find it
*/
Expand Down
44 changes: 42 additions & 2 deletions drivers/media/video/saa7134/saa7134-dvb.c
Original file line number Diff line number Diff line change
Expand Up @@ -874,6 +874,34 @@ static struct tda1004x_config philips_tiger_config = {

/* ------------------------------------------------------------------ */

static int asus_p7131_dual_tuner_init(struct dvb_frontend *fe)
{
struct saa7134_dev *dev = fe->dvb->priv;
static u8 data[] = { 0x3c, 0x33, 0x6a};
struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};

if (i2c_transfer(&dev->i2c_adap, &msg, 1) != 1)
return -EIO;
/* make sure the DVB-T antenna input is set */
saa_setl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0200000);
return 0;
}

static int asus_p7131_dual_tuner_sleep(struct dvb_frontend *fe)
{
struct saa7134_dev *dev = fe->dvb->priv;
static u8 data[] = { 0x3c, 0x33, 0x68};
struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};

i2c_transfer(&dev->i2c_adap, &msg, 1);
philips_tda827xa_tuner_sleep( 0x61, fe);
/* reset antenna inputs for analog usage */
saa_clearl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0200000);
return 0;
}

/* ------------------------------------------------------------------ */

static int lifeview_trio_tuner_set_params(struct dvb_frontend *fe, struct dvb_frontend_parameters *params)
{
int ret;
Expand Down Expand Up @@ -1148,8 +1176,8 @@ static int dvb_init(struct saa7134_dev *dev)
&philips_tiger_config,
&dev->i2c_adap);
if (dev->dvb.frontend) {
dev->dvb.frontend->ops.tuner_ops.init = philips_tiger_tuner_init;
dev->dvb.frontend->ops.tuner_ops.sleep = philips_tiger_tuner_sleep;
dev->dvb.frontend->ops.tuner_ops.init = asus_p7131_dual_tuner_init;
dev->dvb.frontend->ops.tuner_ops.sleep = asus_p7131_dual_tuner_sleep;
dev->dvb.frontend->ops.tuner_ops.set_params = philips_tiger_tuner_set_params;
}
break;
Expand Down Expand Up @@ -1240,6 +1268,18 @@ static int dvb_init(struct saa7134_dev *dev)
}
}
break;
case SAA7134_BOARD_ASUS_EUROPA2_HYBRID:
dev->dvb.frontend = tda10046_attach(&medion_cardbus,
&dev->i2c_adap);
if (dev->dvb.frontend) {
dev->original_demod_sleep = dev->dvb.frontend->ops.sleep;
dev->dvb.frontend->ops.sleep = philips_europa_demod_sleep;
dev->dvb.frontend->ops.tuner_ops.init = philips_fmd1216_tuner_init;
dev->dvb.frontend->ops.tuner_ops.sleep = philips_fmd1216_tuner_sleep;
dev->dvb.frontend->ops.tuner_ops.set_params = philips_fmd1216_tuner_set_params;
}
break;

default:
printk("%s: Huh? unknown DVB card?\n",dev->name);
break;
Expand Down
Loading

0 comments on commit ab8e823

Please sign in to comment.