summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx88
diff options
context:
space:
mode:
authorGerd Knorr <devnull@localhost>2004-07-07 06:42:28 +0000
committerGerd Knorr <devnull@localhost>2004-07-07 06:42:28 +0000
commitb51f6e936a61b0ac199a778d45f67f9db48313f9 (patch)
treeac522e1723e9baabe707d3cdcfb7295d582f3e21 /linux/drivers/media/video/cx88
parenta3f6ab922affe971512b83a9029f4c4061e0b60b (diff)
downloadmediapointer-dvb-s2-b51f6e936a61b0ac199a778d45f67f9db48313f9.tar.gz
mediapointer-dvb-s2-b51f6e936a61b0ac199a778d45f67f9db48313f9.tar.bz2
- saa7134: add automute option.
- tda9887: add config i2c command.
Diffstat (limited to 'linux/drivers/media/video/cx88')
-rw-r--r--linux/drivers/media/video/cx88/cx88-cards.c13
-rw-r--r--linux/drivers/media/video/cx88/cx88-i2c.c2
-rw-r--r--linux/drivers/media/video/cx88/cx88-video.c7
-rw-r--r--linux/drivers/media/video/cx88/cx88.h3
4 files changed, 15 insertions, 10 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c
index c568c73df..aa8d87898 100644
--- a/linux/drivers/media/video/cx88/cx88-cards.c
+++ b/linux/drivers/media/video/cx88/cx88-cards.c
@@ -115,7 +115,7 @@ struct cx88_board cx88_boards[] = {
[CX88_BOARD_WINFAST2000XP] = {
.name = "Leadtek Winfast 2000XP Expert",
.tuner_type = 44,
- .needs_tda9887 = 1,
+ .tda9887_conf = TDA9887_PRESENT,
.input = {{
.type = CX88_VMUX_TELEVISION,
.vmux = 0,
@@ -159,7 +159,7 @@ struct cx88_board cx88_boards[] = {
// values for PAL from DScaler
.name = "MSI TV-@nywhere Master",
.tuner_type = 33,
- .needs_tda9887 = 1,
+ .tda9887_conf = TDA9887_PRESENT,
.input = {{
.type = CX88_VMUX_TELEVISION,
.vmux = 0,
@@ -189,7 +189,7 @@ struct cx88_board cx88_boards[] = {
[CX88_BOARD_WINFAST_DV2000] = {
.name = "Leadtek Winfast DV2000",
.tuner_type = 38,
- .needs_tda9887 = 1,
+ .tda9887_conf = TDA9887_PRESENT,
.input = {{
.type = CX88_VMUX_TELEVISION,
.vmux = 0,
@@ -218,7 +218,6 @@ struct cx88_board cx88_boards[] = {
[CX88_BOARD_IODATA_GVVCP3PCI] = {
.name = "IODATA GV-VCP3/PCI",
.tuner_type = TUNER_ABSENT,
- .needs_tda9887 = 0,
.input = {{
.type = CX88_VMUX_COMPOSITE1,
.vmux = 0,
@@ -233,7 +232,7 @@ struct cx88_board cx88_boards[] = {
[CX88_BOARD_PROLINK_PLAYTVPVR] = {
.name = "Prolink PlayTV PVR",
.tuner_type = 43,
- .needs_tda9887 = 1,
+ .tda9887_conf = TDA9887_PRESENT,
.input = {{
.type = CX88_VMUX_TELEVISION,
.vmux = 0,
@@ -255,7 +254,7 @@ struct cx88_board cx88_boards[] = {
[CX88_BOARD_ASUS_PVR_416] = {
.name = "ASUS PVR-416",
.tuner_type = 43,
- .needs_tda9887 = 1,
+ .tda9887_conf = TDA9887_PRESENT,
.input = {{
.type = CX88_VMUX_TELEVISION,
.vmux = 0,
@@ -282,7 +281,7 @@ struct cx88_board cx88_boards[] = {
[CX88_BOARD_MSI_TVANYWHERE] = {
.name = "MSI TV-@nywhere",
.tuner_type = 33,
- .needs_tda9887 = 1,
+ .tda9887_conf = TDA9887_PRESENT,
.input = {{
.type = CX88_VMUX_TELEVISION,
.vmux = 0,
diff --git a/linux/drivers/media/video/cx88/cx88-i2c.c b/linux/drivers/media/video/cx88/cx88-i2c.c
index 1ced37b77..fcf8b1abd 100644
--- a/linux/drivers/media/video/cx88/cx88-i2c.c
+++ b/linux/drivers/media/video/cx88/cx88-i2c.c
@@ -93,6 +93,8 @@ static int attach_inform(struct i2c_client *client)
if (dev->tuner_type != UNSET)
cx8800_call_i2c_clients(dev,TUNER_SET_TYPE,&dev->tuner_type);
+ if (dev->tda9887_conf)
+ cx8800_call_i2c_clients(dev,TDA9887_SET_CONFIG,&dev->tda9887_conf);
if (1 /* fixme: debug */)
printk("%s: i2c attach [client=%s]\n",
diff --git a/linux/drivers/media/video/cx88/cx88-video.c b/linux/drivers/media/video/cx88/cx88-video.c
index deaa2017a..6b0584f0f 100644
--- a/linux/drivers/media/video/cx88/cx88-video.c
+++ b/linux/drivers/media/video/cx88/cx88-video.c
@@ -2398,6 +2398,7 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
dev->tuner_type = tuner[cx8800_devcount];
if (UNSET == dev->tuner_type)
dev->tuner_type = cx88_boards[dev->board].tuner_type;
+ dev->tda9887_conf = cx88_boards[dev->board].tda9887_conf;
/* get mmio */
if (!request_mem_region(pci_resource_start(pci_dev,0),
@@ -2454,11 +2455,13 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
/* load and configure helper modules */
if (TUNER_ABSENT != dev->tuner_type)
request_module("tuner");
- if (cx88_boards[dev->board].needs_tda9887)
+ if (dev->tda9887_conf)
request_module("tda9887");
if (dev->tuner_type != UNSET)
cx8800_call_i2c_clients(dev,TUNER_SET_TYPE,&dev->tuner_type);
-
+ if (dev->tda9887_conf)
+ cx8800_call_i2c_clients(dev,TDA9887_SET_CONFIG,&dev->tda9887_conf);
+
/* register v4l devices */
dev->video_dev = vdev_init(dev,&cx8800_video_template,"video");
err = video_register_device(dev->video_dev,VFL_TYPE_GRABBER,
diff --git a/linux/drivers/media/video/cx88/cx88.h b/linux/drivers/media/video/cx88/cx88.h
index 1b59c808b..9d4cd4037 100644
--- a/linux/drivers/media/video/cx88/cx88.h
+++ b/linux/drivers/media/video/cx88/cx88.h
@@ -168,7 +168,7 @@ struct cx88_input {
struct cx88_board {
char *name;
unsigned int tuner_type;
- int needs_tda9887:1;
+ int tda9887_conf;
struct cx88_input input[8];
struct cx88_input radio;
};
@@ -261,6 +261,7 @@ struct cx8800_dev {
/* config info */
unsigned int board;
unsigned int tuner_type;
+ unsigned int tda9887_conf;
unsigned int has_radio;
/* i2c i/o */