|
@@ -170,19 +170,15 @@ static int vsp1_uapi_create_links(struct vsp1_device *vsp1)
|
|
|
|
|
|
for (i = 0; i < vsp1->info->wpf_count; ++i) {
|
|
|
/* Connect the video device to the WPF. All connections are
|
|
|
- * immutable except for the WPF0 source link if a LIF is
|
|
|
- * present.
|
|
|
+ * immutable.
|
|
|
*/
|
|
|
struct vsp1_rwpf *wpf = vsp1->wpf[i];
|
|
|
- unsigned int flags = MEDIA_LNK_FL_ENABLED;
|
|
|
-
|
|
|
- if (!(vsp1->info->features & VSP1_HAS_LIF) || i != 0)
|
|
|
- flags |= MEDIA_LNK_FL_IMMUTABLE;
|
|
|
|
|
|
ret = media_create_pad_link(&wpf->entity.subdev.entity,
|
|
|
RWPF_PAD_SOURCE,
|
|
|
&wpf->video->video.entity, 0,
|
|
|
- flags);
|
|
|
+ MEDIA_LNK_FL_IMMUTABLE |
|
|
|
+ MEDIA_LNK_FL_ENABLED);
|
|
|
if (ret < 0)
|
|
|
return ret;
|
|
|
}
|
|
@@ -271,7 +267,11 @@ static int vsp1_create_entities(struct vsp1_device *vsp1)
|
|
|
|
|
|
list_add_tail(&vsp1->hst->entity.list_dev, &vsp1->entities);
|
|
|
|
|
|
- if (vsp1->info->features & VSP1_HAS_LIF) {
|
|
|
+ /* The LIF is only supported when used in conjunction with the DU, in
|
|
|
+ * which case the userspace API is disabled. If the userspace API is
|
|
|
+ * enabled skip the LIF, even when present.
|
|
|
+ */
|
|
|
+ if (vsp1->info->features & VSP1_HAS_LIF && !vsp1->info->uapi) {
|
|
|
vsp1->lif = vsp1_lif_create(vsp1);
|
|
|
if (IS_ERR(vsp1->lif)) {
|
|
|
ret = PTR_ERR(vsp1->lif);
|