Message ID | 1350769698-24752-2-git-send-email-sakari.ailus@iki.fi (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Sakari, Thanks for the patch. On Sunday 21 October 2012 00:48:18 Sakari Ailus wrote: > 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> > Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > drivers/media/platform/omap3isp/isp.c | 14 +++++++++++++- > 1 files changed, 13 insertions(+), 1 deletions(-) > > diff --git a/drivers/media/platform/omap3isp/isp.c > b/drivers/media/platform/omap3isp/isp.c index 5ea5520..5f75798 100644 > --- a/drivers/media/platform/omap3isp/isp.c > +++ b/drivers/media/platform/omap3isp/isp.c > @@ -1767,6 +1767,7 @@ static int isp_register_entities(struct isp_device > *isp) struct media_entity *input; > unsigned int flags; > unsigned int pad; > + unsigned int i; > > sensor = isp_register_subdev_group(isp, subdevs->subdevs); > if (sensor == NULL) > @@ -1814,7 +1815,18 @@ static int isp_register_entities(struct isp_device > *isp) 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, > + "no source pads in external entities\n"); Nitpicking, "no source pad in external entity". If that's fine with you I'll modify this when applying this patch to my tree. > + ret = -EINVAL; > + goto done; > + } > + > + ret = media_entity_create_link(&sensor->entity, i, input, pad, > flags); > if (ret < 0) > goto done;
diff --git a/drivers/media/platform/omap3isp/isp.c b/drivers/media/platform/omap3isp/isp.c index 5ea5520..5f75798 100644 --- a/drivers/media/platform/omap3isp/isp.c +++ b/drivers/media/platform/omap3isp/isp.c @@ -1767,6 +1767,7 @@ static int isp_register_entities(struct isp_device *isp) struct media_entity *input; unsigned int flags; unsigned int pad; + unsigned int i; sensor = isp_register_subdev_group(isp, subdevs->subdevs); if (sensor == NULL) @@ -1814,7 +1815,18 @@ static int isp_register_entities(struct isp_device *isp) 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, + "no source pads in external entities\n"); + ret = -EINVAL; + goto done; + } + + ret = media_entity_create_link(&sensor->entity, i, input, pad, flags); if (ret < 0) goto done;