aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/saa7134/saa7134-cards.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-11 22:09:32 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-11 22:09:32 -0400
commitc634920abaf9c0a93266a57beff6fce9d3852cb2 (patch)
tree5ac85f54905a8cd3b12b262c66189084cbff54fc /drivers/media/video/saa7134/saa7134-cards.c
parent6abd2c860e34add677de50e8b134f5af6f4b0893 (diff)
parenta991f44b79fa49b281eb078eed4a76a42101012a (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (310 commits) V4L/DVB (6316): Change list_for_each+list_entry to list_for_each_entry V4L/DVB (6315): pvrusb2: Change list_for_each+list_entry to list_for_each_entry V4L/DVB (6314): saa7134: Replace list_for_each+list_entry with list_for_each_entry V4L/DVB (6313): ivtv: Replace list_for_each+list_entry with list_for_each_entry V4L/DVB (6312): cx88: Replace list_for_each+list_entry with list_for_each_entry V4L/DVB (6311): dvb: Replace list_for_each+list_entry with list_for_each_entry V4L/DVB (6308): V4L: zc0301, remove bad usage of ERESTARTSYS V4L/DVB (6307): V4L: w9968cf, remove bad usage of ERESTARTSYS V4L/DVB (6306): Few clenups for saa7134 resume code V4L/DVB (6305): V4L: videobuf-core.c avoid NULL dereferences in videobuf-core V4L/DVB (6301): pvrusb: Update DEBUGIFC sysfs to kernel 2.6.13+ V4L/DVB (6300): CodingStyle cleanup V4L/DVB (6299): dvb: Add dependencies for VIDEOBUF_DVB V4L/DVB (6297): cx23885: remove wrong Kconfig selection of VIDEOBUF V4L/DVB (6296): dib0700: add support for AverMedia DVB-T Express card V4L/DVB (6295): saa7134: add autodetection for KWorld ATSC-115 V4L/DVB (6293): V4L: convert struct class_device to struct device V4L/DVB (6292): videobuf_core init always require callback implementation V4L/DVB (6291): Fix: avoid oops on some SMP machines V4L/DVB (6290): remove videobuf_set_pci_ops ...
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-cards.c')
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c57
1 files changed, 47 insertions, 10 deletions
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index 25ec16810818..a4c192fb4e41 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -32,6 +32,7 @@ static char name_mute[] = "mute";
32static char name_radio[] = "Radio"; 32static char name_radio[] = "Radio";
33static char name_tv[] = "Television"; 33static char name_tv[] = "Television";
34static char name_tv_mono[] = "TV (mono only)"; 34static char name_tv_mono[] = "TV (mono only)";
35static char name_comp[] = "Composite";
35static char name_comp1[] = "Composite1"; 36static char name_comp1[] = "Composite1";
36static char name_comp2[] = "Composite2"; 37static char name_comp2[] = "Composite2";
37static char name_comp3[] = "Composite3"; 38static char name_comp3[] = "Composite3";
@@ -1535,12 +1536,7 @@ struct saa7134_board saa7134_boards[] = {
1535 .tv = 1, 1536 .tv = 1,
1536 .gpio = 0x00, 1537 .gpio = 0x00,
1537 },{ 1538 },{
1538 .name = name_comp1, 1539 .name = name_comp,
1539 .vmux = 0,
1540 .amux = LINE1,
1541 .gpio = 0x02,
1542 },{
1543 .name = name_comp2,
1544 .vmux = 3, 1540 .vmux = 3,
1545 .amux = LINE1, 1541 .amux = LINE1,
1546 .gpio = 0x02, 1542 .gpio = 0x02,
@@ -2771,6 +2767,7 @@ struct saa7134_board saa7134_boards[] = {
2771 .tuner_addr = ADDR_UNSET, 2767 .tuner_addr = ADDR_UNSET,
2772 .radio_addr = ADDR_UNSET, 2768 .radio_addr = ADDR_UNSET,
2773 .mpeg = SAA7134_MPEG_DVB, 2769 .mpeg = SAA7134_MPEG_DVB,
2770 .gpiomask = 1 << 21,
2774 .inputs = {{ 2771 .inputs = {{
2775 .name = name_tv, 2772 .name = name_tv,
2776 .vmux = 1, 2773 .vmux = 1,
@@ -2781,13 +2778,18 @@ struct saa7134_board saa7134_boards[] = {
2781 .vmux = 3, 2778 .vmux = 3,
2782 .amux = LINE1, 2779 .amux = LINE1,
2783 },{ 2780 },{
2784 .name = name_svideo, 2781 .name = name_comp2,
2785 .vmux = 0, 2782 .vmux = 0,
2786 .amux = LINE1, 2783 .amux = LINE1,
2784 },{
2785 .name = name_svideo,
2786 .vmux = 8,
2787 .amux = LINE1,
2787 }}, 2788 }},
2788 .radio = { 2789 .radio = {
2789 .name = name_radio, 2790 .name = name_radio,
2790 .amux = LINE1, 2791 .amux = TV,
2792 .gpio = 0x0200000,
2791 }, 2793 },
2792 }, 2794 },
2793 [SAA7134_BOARD_KWORLD_DVBT_210] = { 2795 [SAA7134_BOARD_KWORLD_DVBT_210] = {
@@ -2820,7 +2822,7 @@ struct saa7134_board saa7134_boards[] = {
2820 }, 2822 },
2821 }, 2823 },
2822 [SAA7134_BOARD_KWORLD_ATSC110] = { 2824 [SAA7134_BOARD_KWORLD_ATSC110] = {
2823 .name = "Kworld ATSC110", 2825 .name = "Kworld ATSC110/115",
2824 .audio_clock = 0x00187de7, 2826 .audio_clock = 0x00187de7,
2825 .tuner_type = TUNER_PHILIPS_TUV1236D, 2827 .tuner_type = TUNER_PHILIPS_TUV1236D,
2826 .radio_type = UNSET, 2828 .radio_type = UNSET,
@@ -2896,7 +2898,7 @@ struct saa7134_board saa7134_boards[] = {
2896 .radio_addr = ADDR_UNSET, 2898 .radio_addr = ADDR_UNSET,
2897 }, 2899 },
2898 [SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS] = { 2900 [SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS] = {
2899 .name = "LifeView FlyDVB-T Hybrid Cardbus", 2901 .name = "LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB",
2900 .audio_clock = 0x00200000, 2902 .audio_clock = 0x00200000,
2901 .tuner_type = TUNER_PHILIPS_TDA8290, 2903 .tuner_type = TUNER_PHILIPS_TDA8290,
2902 .radio_type = UNSET, 2904 .radio_type = UNSET,
@@ -3534,6 +3536,22 @@ struct saa7134_board saa7134_boards[] = {
3534 .gpio = 0x3000, 3536 .gpio = 0x3000,
3535 }, 3537 },
3536 }, 3538 },
3539 [SAA7134_BOARD_AVERMEDIA_SUPER_007] = {
3540 .name = "Avermedia Super 007",
3541 .audio_clock = 0x00187de7,
3542 .tuner_type = TUNER_PHILIPS_TDA8290,
3543 .radio_type = UNSET,
3544 .tuner_addr = ADDR_UNSET,
3545 .radio_addr = ADDR_UNSET,
3546 .tuner_config = 0,
3547 .mpeg = SAA7134_MPEG_DVB,
3548 .inputs = {{
3549 .name = name_tv, /* FIXME: analog tv untested */
3550 .vmux = 1,
3551 .amux = TV,
3552 .tv = 1,
3553 }},
3554 },
3537}; 3555};
3538 3556
3539const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); 3557const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -4066,6 +4084,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
4066 .driver_data = SAA7134_BOARD_KWORLD_ATSC110, 4084 .driver_data = SAA7134_BOARD_KWORLD_ATSC110,
4067 },{ 4085 },{
4068 .vendor = PCI_VENDOR_ID_PHILIPS, 4086 .vendor = PCI_VENDOR_ID_PHILIPS,
4087 .device = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */
4088 .subvendor = 0x17de,
4089 .subdevice = 0x7352,
4090 .driver_data = SAA7134_BOARD_KWORLD_ATSC110, /* ATSC 115 */
4091 },{
4092 .vendor = PCI_VENDOR_ID_PHILIPS,
4069 .device = PCI_DEVICE_ID_PHILIPS_SAA7134, 4093 .device = PCI_DEVICE_ID_PHILIPS_SAA7134,
4070 .subvendor = 0x1461, 4094 .subvendor = 0x1461,
4071 .subdevice = 0x7360, 4095 .subdevice = 0x7360,
@@ -4257,6 +4281,18 @@ struct pci_device_id saa7134_pci_tbl[] = {
4257 .subdevice = 0x2304, 4281 .subdevice = 0x2304,
4258 .driver_data = SAA7134_BOARD_10MOONSTVMASTER3, 4282 .driver_data = SAA7134_BOARD_10MOONSTVMASTER3,
4259 },{ 4283 },{
4284 .vendor = PCI_VENDOR_ID_PHILIPS,
4285 .device = PCI_DEVICE_ID_PHILIPS_SAA7133,
4286 .subvendor = 0x1461, /* Avermedia Technologies Inc */
4287 .subdevice = 0xf01d, /* AVerTV DVB-T Super 007 */
4288 .driver_data = SAA7134_BOARD_AVERMEDIA_SUPER_007,
4289 },{
4290 .vendor = PCI_VENDOR_ID_PHILIPS,
4291 .device = PCI_DEVICE_ID_PHILIPS_SAA7133,
4292 .subvendor = 0x4e42,
4293 .subdevice = 0x3502,
4294 .driver_data = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS
4295 },{
4260 /* --- boards without eeprom + subsystem ID --- */ 4296 /* --- boards without eeprom + subsystem ID --- */
4261 .vendor = PCI_VENDOR_ID_PHILIPS, 4297 .vendor = PCI_VENDOR_ID_PHILIPS,
4262 .device = PCI_DEVICE_ID_PHILIPS_SAA7134, 4298 .device = PCI_DEVICE_ID_PHILIPS_SAA7134,
@@ -4564,6 +4600,7 @@ int saa7134_board_init2(struct saa7134_dev *dev)
4564 break; 4600 break;
4565 case SAA7134_BOARD_PHILIPS_TIGER: 4601 case SAA7134_BOARD_PHILIPS_TIGER:
4566 case SAA7134_BOARD_PHILIPS_TIGER_S: 4602 case SAA7134_BOARD_PHILIPS_TIGER_S:
4603 case SAA7134_BOARD_AVERMEDIA_SUPER_007:
4567 { 4604 {
4568 u8 data[] = { 0x3c, 0x33, 0x60}; 4605 u8 data[] = { 0x3c, 0x33, 0x60};
4569 struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)}; 4606 struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};