V4L/DVB (7755): ivtv: add support for card comments and detected but unsupported...
authorHans Verkuil <hverkuil@xs4all.nl>
Sat, 26 Apr 2008 11:48:26 +0000 (08:48 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Tue, 29 Apr 2008 21:41:34 +0000 (18:41 -0300)
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/ivtv/ivtv-cards.c
drivers/media/video/ivtv/ivtv-cards.h
drivers/media/video/ivtv/ivtv-driver.c

index e908649ea37cc738fc2611fb4cb14cbfe3a90ea0..bf9b32a6c1ad9ff417c3ea89c0ce9d8a3bea17f2 100644 (file)
@@ -875,6 +875,7 @@ static const struct ivtv_card_pci_info ivtv_pci_pg600v2[] = {
 static const struct ivtv_card ivtv_card_pg600v2 = {
        .type = IVTV_CARD_PG600V2,
        .name = "Yuan PG600-2, GotView PCI DVD Lite",
+       .comment = "only Composite and S-Video inputs are supported, not the tuner\n",
        .v4l2_capabilities = IVTV_CAP_ENCODER,
        .hw_video = IVTV_HW_CX25840,
        .hw_audio = IVTV_HW_CX25840,
@@ -940,6 +941,7 @@ static const struct ivtv_card_pci_info ivtv_pci_avertv_mce116[] = {
 static const struct ivtv_card ivtv_card_avertv_mce116 = {
        .type = IVTV_CARD_AVERTV_MCE116,
        .name = "AVerTV MCE 116 Plus",
+       .comment = "only Composite and S-Video inputs are supported, not the tuner\n",
        .v4l2_capabilities = IVTV_CAP_ENCODER,
        .hw_video = IVTV_HW_CX25840,
        .hw_audio = IVTV_HW_CX25840,
index 9186fa2ee5fc01bff46a451df77569cbe593eba6..bfb385c56099d16979e86a5433937c3af5fa4114 100644 (file)
@@ -244,6 +244,7 @@ struct ivtv_card_tuner_i2c {
 struct ivtv_card {
        int type;
        char *name;
+       char *comment;
        u32 v4l2_capabilities;
        u32 hw_video;           /* hardware used to process video */
        u32 hw_audio;           /* hardware used to process audio */
index 06a1f3c4de4b08d0e46bc2dbc20c27a0a4970754..e6f319f7a1b9b7e9b0a5f0bc0ef33a5dd45e665e 100644 (file)
@@ -1097,6 +1097,13 @@ static int __devinit ivtv_probe(struct pci_dev *dev,
                   The PCI IDs are not always reliable. */
                ivtv_process_eeprom(itv);
        }
+       if (itv->card->comment)
+               IVTV_INFO("%s", itv->card->comment);
+       if (itv->card->v4l2_capabilities == 0) {
+               /* card was detected but is not supported */
+               retval = -ENODEV;
+               goto free_i2c;
+       }
 
        if (itv->std == 0) {
                itv->std = V4L2_STD_NTSC_M;