[RFC,11/17] omap3isp: Implement validate_pipeline
Commit Message
From: Sakari Ailus <sakari.ailus@iki.fi>
Validate pipeline of any external entity connected to the ISP driver.
The validation of the pipeline for the part that involves links inside the
domain of another driver must be done by that very driver.
Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
---
drivers/media/video/omap3isp/ispvideo.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
@@ -355,6 +355,18 @@ static int isp_video_validate_pipeline(struct isp_pipeline *pipe)
fmt_source.format.height != fmt_sink.format.height)
return -EPIPE;
+ if (subdev->host_priv) {
+ /*
+ * host_priv != NULL: this is a sensor. Issue
+ * validate_pipeline. We're at our end of the
+ * pipeline so we quit now.
+ */
+ ret = v4l2_subdev_call(subdev, pad, validate_pipeline);
+ if (ret < 0 && ret != -ENOIOCTLCMD)
+ return -EPIPE;
+ break;
+ }
+
if (shifter_link) {
unsigned int parallel_shift = 0;
if (isp->isp_ccdc.input == CCDC_INPUT_PARALLEL) {