struct v4l2_subdev *src_sd;
- struct media_entity *sink;
-
struct v4l2_mbus_framefmt format_mbus[IMX7_CSI_PADS_NUM];
const struct imx_media_pixfmt *cc[IMX7_CSI_PADS_NUM];
struct v4l2_fract frame_interval[IMX7_CSI_PADS_NUM];
} else {
csi->src_sd = NULL;
}
-
- goto unlock;
- }
-
- /* source pad */
- if (flags & MEDIA_LNK_FL_ENABLED) {
- if (csi->sink) {
- ret = -EBUSY;
- goto unlock;
- }
- csi->sink = remote->entity;
- } else {
- csi->sink = NULL;
}
unlock:
mutex_lock(&csi->lock);
- if (!csi->src_sd || !csi->sink) {
+ if (!csi->src_sd) {
ret = -EPIPE;
goto out_unlock;
}
if (IS_ERR(csi->vdev))
return PTR_ERR(csi->vdev);
- ret = imx_media_capture_device_register(csi->vdev, 0);
+ ret = imx_media_capture_device_register(csi->vdev,
+ MEDIA_LNK_FL_IMMUTABLE);
if (ret)
imx_media_capture_device_remove(csi->vdev);