aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2006-03-14 17:02:12 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-21 11:53:33 -0500
commitba3a5a81f79d16666e1b46ee9e4fe7f2bc8bd70f (patch)
tree71e22f12307169af9a5ad96a51766b38736f3953 /drivers
parent67ac9a40f90db57b09f7d98f72d8d0344acefbac (diff)
V4L/DVB (3504): Medion 7134: Autodetect second bridge chip
The device, Medion 7134, has two saa7134 chips on it, but only one of them is functional in the current saa7134 driver. This patch adds autodetection for the second, unsupported saa7134 chip, as SAA7134_BOARD_MD7134_BRIDGE_2, and displays a message to the user (in dmesg) indicating that the second chip isn't yet functional. This is useful for users, since two instances of the saa7134 driver will spawn. This patch will prevent confusion by warning the user that only one of the chips on the board are functional. There are other versions of the SAA7134_BOARD_MD7134 with only a single saa7134 bridge/decoder -- those devices will not be affected by this patch. Only devices containing the second chip will display the warning. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c18
-rw-r--r--drivers/media/video/saa7134/saa7134.h1
2 files changed, 19 insertions, 0 deletions
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index 3824fba7fb1c..fdd7f48f3b76 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -2797,6 +2797,17 @@ struct saa7134_board saa7134_boards[] = {
2797 .amux = LINE1, 2797 .amux = LINE1,
2798 }}, 2798 }},
2799 }, 2799 },
2800 [SAA7134_BOARD_MD7134_BRIDGE_2] = {
2801 /* This card has two saa7134 chips on it,
2802 but only one of them is currently working.
2803 The programming for the primary decoder is
2804 in SAA7134_BOARD_MD7134 */
2805 .name = "Medion 7134 Bridge #2",
2806 .audio_clock = 0x00187de7,
2807 .radio_type = UNSET,
2808 .tuner_addr = ADDR_UNSET,
2809 .radio_addr = ADDR_UNSET,
2810 },
2800}; 2811};
2801 2812
2802const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); 2813const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -3316,6 +3327,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
3316 .subdevice = 0x6360, 3327 .subdevice = 0x6360,
3317 .driver_data = SAA7134_BOARD_AVERMEDIA_A169_B1, 3328 .driver_data = SAA7134_BOARD_AVERMEDIA_A169_B1,
3318 },{ 3329 },{
3330 .vendor = PCI_VENDOR_ID_PHILIPS,
3331 .device = PCI_DEVICE_ID_PHILIPS_SAA7134,
3332 .subvendor = 0x16be,
3333 .subdevice = 0x0005,
3334 .driver_data = SAA7134_BOARD_MD7134_BRIDGE_2,
3335 },{
3319 /* --- boards without eeprom + subsystem ID --- */ 3336 /* --- boards without eeprom + subsystem ID --- */
3320 .vendor = PCI_VENDOR_ID_PHILIPS, 3337 .vendor = PCI_VENDOR_ID_PHILIPS,
3321 .device = PCI_DEVICE_ID_PHILIPS_SAA7134, 3338 .device = PCI_DEVICE_ID_PHILIPS_SAA7134,
@@ -3471,6 +3488,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
3471 dev->has_remote = SAA7134_REMOTE_I2C; 3488 dev->has_remote = SAA7134_REMOTE_I2C;
3472 break; 3489 break;
3473 case SAA7134_BOARD_AVERMEDIA_A169_B: 3490 case SAA7134_BOARD_AVERMEDIA_A169_B:
3491 case SAA7134_BOARD_MD7134_BRIDGE_2:
3474 printk("%s: %s: dual saa713x broadcast decoders\n" 3492 printk("%s: %s: dual saa713x broadcast decoders\n"
3475 "%s: Sorry, none of the inputs to this chip are supported yet.\n" 3493 "%s: Sorry, none of the inputs to this chip are supported yet.\n"
3476 "%s: Dual decoder functionality is disabled for now, use the other chip.\n", 3494 "%s: Dual decoder functionality is disabled for now, use the other chip.\n",
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h
index 7d04ed330ec3..683e785c18bd 100644
--- a/drivers/media/video/saa7134/saa7134.h
+++ b/drivers/media/video/saa7134/saa7134.h
@@ -220,6 +220,7 @@ struct saa7134_format {
220#define SAA7134_BOARD_KWORLD_ATSC110 90 220#define SAA7134_BOARD_KWORLD_ATSC110 90
221#define SAA7134_BOARD_AVERMEDIA_A169_B 91 221#define SAA7134_BOARD_AVERMEDIA_A169_B 91
222#define SAA7134_BOARD_AVERMEDIA_A169_B1 92 222#define SAA7134_BOARD_AVERMEDIA_A169_B1 92
223#define SAA7134_BOARD_MD7134_BRIDGE_2 93
223 224
224#define SAA7134_MAXBOARDS 8 225#define SAA7134_MAXBOARDS 8
225#define SAA7134_INPUT_MAX 8 226#define SAA7134_INPUT_MAX 8