]> err.no Git - linux-2.6/commitdiff
V4L/DVB (7316): pvrusb2: Handle ATSC video standard bits
authorMike Isely <isely@pobox.com>
Tue, 22 Apr 2008 17:45:42 +0000 (14:45 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Thu, 24 Apr 2008 17:07:48 +0000 (14:07 -0300)
The pvrusb2 driver dynamically generates an enumeration of support
video standard combinations based on which video standard bits are
set.  ATSC modes don't fall into this since they are by nature not
analog.  The pvrusb2 driver has been warning about an inability to
classify ATSC standards.  This change causes the classification
algorithm to ignore any ATSC standards (such things are better handled
elsewhere anyway).

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/pvrusb2/pvrusb2-std.c

index da309288daa4c603fd92b6dbd33e3eca5a6a6508..ddd3fc38a419ad290925817d7a3ddabb4cd37787 100644 (file)
@@ -79,7 +79,7 @@ struct std_name {
 #define TSTD_Nc  (V4L2_STD_PAL_Nc)
 #define TSTD_60  (V4L2_STD_PAL_60)
 
-#define CSTD_ALL (CSTD_PAL|CSTD_NTSC|CSTD_SECAM)
+#define CSTD_ALL (CSTD_PAL|CSTD_NTSC|CSTD_ATSC|CSTD_SECAM)
 
 /* Mapping of standard bits to color system */
 static const struct std_name std_groups[] = {
@@ -328,7 +328,7 @@ struct v4l2_standard *pvr2_std_create_enum(unsigned int *countptr,
        struct v4l2_standard *stddefs;
 
        if (pvrusb2_debug & PVR2_TRACE_STD) {
-               char buf[50];
+               char buf[80];
                bcnt = pvr2_std_id_to_str(buf,sizeof(buf),id);
                pvr2_trace(
                        PVR2_TRACE_STD,"Mapping standards mask=0x%x (%.*s)",
@@ -352,8 +352,11 @@ struct v4l2_standard *pvr2_std_create_enum(unsigned int *countptr,
                if ((id & std_mixes[idx2]) == std_mixes[idx2]) std_cnt++;
        }
 
+       /* Don't complain about ATSC standard values */
+       fmsk &= ~CSTD_ATSC;
+
        if (fmsk) {
-               char buf[50];
+               char buf[80];
                bcnt = pvr2_std_id_to_str(buf,sizeof(buf),fmsk);
                pvr2_trace(
                        PVR2_TRACE_ERROR_LEGS,