[media] omap3isp: Find source pad from external entity
No longer assume pad number 0 is the source pad of the external entity. Find the source pad from the external entity and use it instead. Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
a7b2106136
commit
aab84f55d4
|
@ -1767,6 +1767,7 @@ static int isp_register_entities(struct isp_device *isp)
|
||||||
struct media_entity *input;
|
struct media_entity *input;
|
||||||
unsigned int flags;
|
unsigned int flags;
|
||||||
unsigned int pad;
|
unsigned int pad;
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
sensor = isp_register_subdev_group(isp, subdevs->subdevs);
|
sensor = isp_register_subdev_group(isp, subdevs->subdevs);
|
||||||
if (sensor == NULL)
|
if (sensor == NULL)
|
||||||
|
@ -1814,7 +1815,19 @@ static int isp_register_entities(struct isp_device *isp)
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = media_entity_create_link(&sensor->entity, 0, input, pad,
|
for (i = 0; i < sensor->entity.num_pads; i++) {
|
||||||
|
if (sensor->entity.pads[i].flags & MEDIA_PAD_FL_SOURCE)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (i == sensor->entity.num_pads) {
|
||||||
|
dev_err(isp->dev,
|
||||||
|
"%s: no source pad in external entity\n",
|
||||||
|
__func__);
|
||||||
|
ret = -EINVAL;
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = media_entity_create_link(&sensor->entity, i, input, pad,
|
||||||
flags);
|
flags);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
Loading…
Reference in New Issue