|
@@ -1602,11 +1602,15 @@ static int rcar_vin_set_fmt(struct soc_camera_device *icd,
|
|
case V4L2_FIELD_INTERLACED:
|
|
case V4L2_FIELD_INTERLACED:
|
|
/* Query for standard if not explicitly mentioned _TB/_BT */
|
|
/* Query for standard if not explicitly mentioned _TB/_BT */
|
|
ret = v4l2_subdev_call(sd, video, querystd, &std);
|
|
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;
|
|
|
|
|
|
+ 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;
|
|
break;
|
|
}
|
|
}
|
|
|
|
|