aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/pvrusb2/pvrusb2-std.c
diff options
context:
space:
mode:
authorMike Isely <isely@pobox.com>2008-04-22 13:45:42 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-04-24 13:07:48 -0400
commitef7c37009225776e92979f464bfbf5d796d3a5ea (patch)
tree236413c4d26a112961eef6dcf4cf577b72f6cc64 /drivers/media/video/pvrusb2/pvrusb2-std.c
parentfd1da7897999826d7491cdfd5b882ca8e9a965cb (diff)
V4L/DVB (7316): pvrusb2: Handle ATSC video standard bits
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>
Diffstat (limited to 'drivers/media/video/pvrusb2/pvrusb2-std.c')
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-std.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-std.c b/drivers/media/video/pvrusb2/pvrusb2-std.c
index da309288daa4..ddd3fc38a419 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-std.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-std.c
@@ -79,7 +79,7 @@ struct std_name {
79#define TSTD_Nc (V4L2_STD_PAL_Nc) 79#define TSTD_Nc (V4L2_STD_PAL_Nc)
80#define TSTD_60 (V4L2_STD_PAL_60) 80#define TSTD_60 (V4L2_STD_PAL_60)
81 81
82#define CSTD_ALL (CSTD_PAL|CSTD_NTSC|CSTD_SECAM) 82#define CSTD_ALL (CSTD_PAL|CSTD_NTSC|CSTD_ATSC|CSTD_SECAM)
83 83
84/* Mapping of standard bits to color system */ 84/* Mapping of standard bits to color system */
85static const struct std_name std_groups[] = { 85static const struct std_name std_groups[] = {
@@ -328,7 +328,7 @@ struct v4l2_standard *pvr2_std_create_enum(unsigned int *countptr,
328 struct v4l2_standard *stddefs; 328 struct v4l2_standard *stddefs;
329 329
330 if (pvrusb2_debug & PVR2_TRACE_STD) { 330 if (pvrusb2_debug & PVR2_TRACE_STD) {
331 char buf[50]; 331 char buf[80];
332 bcnt = pvr2_std_id_to_str(buf,sizeof(buf),id); 332 bcnt = pvr2_std_id_to_str(buf,sizeof(buf),id);
333 pvr2_trace( 333 pvr2_trace(
334 PVR2_TRACE_STD,"Mapping standards mask=0x%x (%.*s)", 334 PVR2_TRACE_STD,"Mapping standards mask=0x%x (%.*s)",
@@ -352,8 +352,11 @@ struct v4l2_standard *pvr2_std_create_enum(unsigned int *countptr,
352 if ((id & std_mixes[idx2]) == std_mixes[idx2]) std_cnt++; 352 if ((id & std_mixes[idx2]) == std_mixes[idx2]) std_cnt++;
353 } 353 }
354 354
355 /* Don't complain about ATSC standard values */
356 fmsk &= ~CSTD_ATSC;
357
355 if (fmsk) { 358 if (fmsk) {
356 char buf[50]; 359 char buf[80];
357 bcnt = pvr2_std_id_to_str(buf,sizeof(buf),fmsk); 360 bcnt = pvr2_std_id_to_str(buf,sizeof(buf),fmsk);
358 pvr2_trace( 361 pvr2_trace(
359 PVR2_TRACE_ERROR_LEGS, 362 PVR2_TRACE_ERROR_LEGS,