|
@@ -220,7 +220,6 @@ struct vsp1_rwpf *vsp1_wpf_create(struct vsp1_device *vsp1, unsigned int index)
|
|
|
struct v4l2_subdev *subdev;
|
|
|
struct vsp1_video *video;
|
|
|
struct vsp1_rwpf *wpf;
|
|
|
- unsigned int flags;
|
|
|
int ret;
|
|
|
|
|
|
wpf = devm_kzalloc(vsp1->dev, sizeof(*wpf), GFP_KERNEL);
|
|
@@ -276,20 +275,6 @@ struct vsp1_rwpf *vsp1_wpf_create(struct vsp1_device *vsp1, unsigned int index)
|
|
|
goto error;
|
|
|
|
|
|
wpf->entity.video = video;
|
|
|
-
|
|
|
- /* Connect the video device to the WPF. All connections are immutable
|
|
|
- * except for the WPF0 source link if a LIF is present.
|
|
|
- */
|
|
|
- flags = MEDIA_LNK_FL_ENABLED;
|
|
|
- if (!(vsp1->pdata.features & VSP1_HAS_LIF) || index != 0)
|
|
|
- flags |= MEDIA_LNK_FL_IMMUTABLE;
|
|
|
-
|
|
|
- ret = media_create_pad_link(&wpf->entity.subdev.entity,
|
|
|
- RWPF_PAD_SOURCE,
|
|
|
- &wpf->video.video.entity, 0, flags);
|
|
|
- if (ret < 0)
|
|
|
- goto error;
|
|
|
-
|
|
|
wpf->entity.sink = &wpf->video.video.entity;
|
|
|
|
|
|
return wpf;
|
|
@@ -298,3 +283,28 @@ error:
|
|
|
vsp1_entity_destroy(&wpf->entity);
|
|
|
return ERR_PTR(ret);
|
|
|
}
|
|
|
+
|
|
|
+/*
|
|
|
+ * vsp1_wpf_create_pads_links_create_pads_links() - RPF pads links creation
|
|
|
+ * @vsp1: Pointer to VSP1 device
|
|
|
+ * @entity: Pointer to VSP1 entity
|
|
|
+ *
|
|
|
+ * return negative error code or zero on success
|
|
|
+ */
|
|
|
+int vsp1_wpf_create_pads_links(struct vsp1_device *vsp1,
|
|
|
+ struct vsp1_entity *entity)
|
|
|
+{
|
|
|
+ struct vsp1_rwpf *wpf = to_rwpf(&entity->subdev);
|
|
|
+ unsigned int flags;
|
|
|
+
|
|
|
+ /* Connect the video device to the WPF. All connections are immutable
|
|
|
+ * except for the WPF0 source link if a LIF is present.
|
|
|
+ */
|
|
|
+ flags = MEDIA_LNK_FL_ENABLED;
|
|
|
+ if (!(vsp1->pdata.features & VSP1_HAS_LIF) || entity->index != 0)
|
|
|
+ flags |= MEDIA_LNK_FL_IMMUTABLE;
|
|
|
+
|
|
|
+ return media_create_pad_link(&wpf->entity.subdev.entity,
|
|
|
+ RWPF_PAD_SOURCE,
|
|
|
+ &wpf->video.video.entity, 0, flags);
|
|
|
+}
|