[media] pvrusb2: Implement support for Terratec Grabster AV400
authorMike Isely <isely@pobox.com>
Sun, 13 Mar 2011 23:37:11 +0000 (20:37 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 22 Mar 2011 07:54:35 +0000 (04:54 -0300)
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
drivers/media/video/pvrusb2/pvrusb2-devattr.c

index 2222da8d0ca67cf97985388a6d42e1428e9d4c8e..c514d0b9ffdc6262df50bff0bfe342aea2ead1b6 100644 (file)
@@ -99,9 +99,27 @@ static const struct routing_scheme routing_defgv = {
        .cnt = ARRAY_SIZE(routing_schemegv),
 };
 
+/* Specific to grabster av400 device */
+static const struct routing_scheme_item routing_schemeav400[] = {
+       [PVR2_CVAL_INPUT_COMPOSITE] = {
+               .vid = CX25840_COMPOSITE1,
+               .aud = CX25840_AUDIO_SERIAL,
+       },
+       [PVR2_CVAL_INPUT_SVIDEO] = {
+               .vid = (CX25840_SVIDEO_LUMA2|CX25840_SVIDEO_CHROMA4),
+               .aud = CX25840_AUDIO_SERIAL,
+       },
+};
+
+static const struct routing_scheme routing_defav400 = {
+       .def = routing_schemeav400,
+       .cnt = ARRAY_SIZE(routing_schemeav400),
+};
+
 static const struct routing_scheme *routing_schemes[] = {
        [PVR2_ROUTING_SCHEME_HAUPPAUGE] = &routing_def0,
        [PVR2_ROUTING_SCHEME_GOTVIEW] = &routing_defgv,
+       [PVR2_ROUTING_SCHEME_AV400] = &routing_defav400,
 };
 
 void pvr2_cx25840_subdev_update(struct pvr2_hdw *hdw, struct v4l2_subdev *sd)
index 3092abfd66a21e69113728127ad9aaf9e64d79c1..e799331389b1b7dc3e92af6a15e8ef7469d5a89e 100644 (file)
@@ -156,6 +156,28 @@ static const struct pvr2_device_desc pvr2_device_gotview_2d = {
 
 
 
+/*------------------------------------------------------------------------*/
+/* Terratec Grabster AV400 */
+
+static const struct pvr2_device_client_desc pvr2_cli_av400[] = {
+       { .module_id = PVR2_CLIENT_ID_CX25840 },
+};
+
+static const struct pvr2_device_desc pvr2_device_av400 = {
+               .description = "Terratec Grabster AV400",
+               .shortname = "av400",
+               .flag_is_experimental = 1,
+               .client_table.lst = pvr2_cli_av400,
+               .client_table.cnt = ARRAY_SIZE(pvr2_cli_av400),
+               .flag_has_cx25840 = !0,
+               .flag_has_analogtuner = 0,
+               .flag_has_composite = !0,
+               .flag_has_svideo = !0,
+               .signal_routing_scheme = PVR2_ROUTING_SCHEME_AV400,
+};
+
+
+
 /*------------------------------------------------------------------------*/
 /* OnAir Creator */
 
@@ -517,6 +539,8 @@ struct usb_device_id pvr2_device_table[] = {
          .driver_info = (kernel_ulong_t)&pvr2_device_750xx},
        { USB_DEVICE(0x2040, 0x7501),
          .driver_info = (kernel_ulong_t)&pvr2_device_751xx},
+       { USB_DEVICE(0x0ccd, 0x0039),
+         .driver_info = (kernel_ulong_t)&pvr2_device_av400},
        { }
 };