]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/media/platform/soc_camera/rcar_vin.c
[media] rcar_vin: call g_std() instead of querystd()
[karo-tx-linux.git] / drivers / media / platform / soc_camera / rcar_vin.c
index 71dd71c0bd1f79ad933f0bc97c5ae4600f577da1..368ab7cfcbb40bcc2936457b95f46808d13b27fb 100644 (file)
@@ -1600,13 +1600,17 @@ static int rcar_vin_set_fmt(struct soc_camera_device *icd,
                field = pix->field;
                break;
        case V4L2_FIELD_INTERLACED:
-               /* Query for standard if not explicitly mentioned _TB/_BT */
-               ret = v4l2_subdev_call(sd, video, querystd, &std);
-               if (ret < 0)
-                       std = V4L2_STD_625_50;
-
-               field = std & V4L2_STD_625_50 ? V4L2_FIELD_INTERLACED_TB :
-                                               V4L2_FIELD_INTERLACED_BT;
+               /* Get the last standard if not explicitly mentioned _TB/_BT */
+               ret = v4l2_subdev_call(sd, video, g_std, &std);
+               if (ret == -ENOIOCTLCMD) {
+                       field = V4L2_FIELD_NONE;
+               } else if (ret < 0) {
+                       return ret;
+               } else {
+                       field = std & V4L2_STD_625_50 ?
+                               V4L2_FIELD_INTERLACED_TB :
+                               V4L2_FIELD_INTERLACED_BT;
+               }
                break;
        }
 
@@ -1846,8 +1850,6 @@ MODULE_DEVICE_TABLE(of, rcar_vin_of_table);
 #endif
 
 static struct platform_device_id rcar_vin_id_table[] = {
-       { "r8a7791-vin",  RCAR_GEN2 },
-       { "r8a7790-vin",  RCAR_GEN2 },
        { "r8a7779-vin",  RCAR_H1 },
        { "r8a7778-vin",  RCAR_M1 },
        { "uPD35004-vin", RCAR_E1 },