[media] zoran: remove bogus autodetect mode in set_norm
authorHans Verkuil <hans.verkuil@cisco.com>
Wed, 29 May 2013 13:19:03 +0000 (10:19 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 17 Jun 2013 12:45:21 +0000 (09:45 -0300)
Currently, if the norm set is V4L2_STD_ALL, then autodetect the current
standard and use that. This is non-standard behavior, and in fact it hasn't
worked for a very long time: before s_std is called in this driver, the
v4l2 core will mask it with the tvnorms field. So even if the application
passes V4L2_STD_ALL, the zoran driver will always see a subset of that.
Since nobody ever complained about this we just remove this non-standard
functionality.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/pci/zoran/zoran_driver.c

index 1168a84..4ec2708 100644 (file)
@@ -1456,29 +1456,6 @@ zoran_set_norm (struct zoran *zr,
                return -EINVAL;
        }
 
-       if (norm == V4L2_STD_ALL) {
-               unsigned int status = 0;
-               v4l2_std_id std = 0;
-
-               decoder_call(zr, video, querystd, &std);
-               decoder_call(zr, core, s_std, std);
-
-               /* let changes come into effect */
-               ssleep(2);
-
-               decoder_call(zr, video, g_input_status, &status);
-               if (status & V4L2_IN_ST_NO_SIGNAL) {
-                       dprintk(1,
-                               KERN_ERR
-                               "%s: %s - no norm detected\n",
-                               ZR_DEVNAME(zr), __func__);
-                       /* reset norm */
-                       decoder_call(zr, core, s_std, zr->norm);
-                       return -EIO;
-               }
-
-               norm = std;
-       }
        if (norm & V4L2_STD_SECAM)
                zr->timing = zr->card.tvn[2];
        else if (norm & V4L2_STD_NTSC)