diff options
author | Gerd Knorr <devnull@localhost> | 2004-07-07 06:42:28 +0000 |
---|---|---|
committer | Gerd Knorr <devnull@localhost> | 2004-07-07 06:42:28 +0000 |
commit | b51f6e936a61b0ac199a778d45f67f9db48313f9 (patch) | |
tree | ac522e1723e9baabe707d3cdcfb7295d582f3e21 /linux/drivers/media/video/cx88 | |
parent | a3f6ab922affe971512b83a9029f4c4061e0b60b (diff) | |
download | mediapointer-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.c | 13 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-i2c.c | 2 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-video.c | 7 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88.h | 3 |
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 */ |