|
@@ -1712,8 +1712,11 @@ ipipe_link_setup(struct media_entity *entity, const struct media_pad *local,
|
|
|
struct vpfe_device *vpfe_dev = to_vpfe_device(ipipe);
|
|
|
u16 ipipeif_sink = vpfe_dev->vpfe_ipipeif.input;
|
|
|
|
|
|
- switch (local->index | media_entity_type(remote->entity)) {
|
|
|
- case IPIPE_PAD_SINK | MEDIA_ENT_T_V4L2_SUBDEV:
|
|
|
+ if (!is_media_entity_v4l2_subdev(remote->entity))
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
+ switch (local->index) {
|
|
|
+ case IPIPE_PAD_SINK:
|
|
|
if (!(flags & MEDIA_LNK_FL_ENABLED)) {
|
|
|
ipipe->input = IPIPE_INPUT_NONE;
|
|
|
break;
|
|
@@ -1726,7 +1729,7 @@ ipipe_link_setup(struct media_entity *entity, const struct media_pad *local,
|
|
|
ipipe->input = IPIPE_INPUT_CCDC;
|
|
|
break;
|
|
|
|
|
|
- case IPIPE_PAD_SOURCE | MEDIA_ENT_T_V4L2_SUBDEV:
|
|
|
+ case IPIPE_PAD_SOURCE:
|
|
|
/* out to RESIZER */
|
|
|
if (flags & MEDIA_LNK_FL_ENABLED)
|
|
|
ipipe->output = IPIPE_OUTPUT_RESIZER;
|