When running in media controller mode a media pad is needed, register one. Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx> --- drivers/media/platform/rcar-vin/rcar-core.c | 9 +++++++++ drivers/media/platform/rcar-vin/rcar-vin.h | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/drivers/media/platform/rcar-vin/rcar-core.c b/drivers/media/platform/rcar-vin/rcar-core.c index 7aaa01dee014d64b..f560d27449b84882 100644 --- a/drivers/media/platform/rcar-vin/rcar-core.c +++ b/drivers/media/platform/rcar-vin/rcar-core.c @@ -267,7 +267,16 @@ static int rvin_group_init(struct rvin_dev *vin) if (ret) return ret; + vin->pad.flags = MEDIA_PAD_FL_SINK; + ret = media_entity_pads_init(&vin->vdev->entity, 1, &vin->pad); + if (ret) + goto error_v4l2; + return 0; +error_v4l2: + rvin_v4l2_mc_remove(vin); + + return ret; } /* ----------------------------------------------------------------------------- diff --git a/drivers/media/platform/rcar-vin/rcar-vin.h b/drivers/media/platform/rcar-vin/rcar-vin.h index 6f2b1e28381678a9..06934313950253f4 100644 --- a/drivers/media/platform/rcar-vin/rcar-vin.h +++ b/drivers/media/platform/rcar-vin/rcar-vin.h @@ -103,6 +103,8 @@ struct rvin_info { * @notifier: V4L2 asynchronous subdevs notifier * @digital: entity in the DT for local digital subdevice * + * @pad: pad for media controller + * * @lock: protects @queue * @queue: vb2 buffers queue * @@ -132,6 +134,8 @@ struct rvin_dev { struct v4l2_async_notifier notifier; struct rvin_graph_entity digital; + struct media_pad pad; + struct mutex lock; struct vb2_queue queue; -- 2.12.2