Re: [PATCH v4 12/45] media: sun6i-csi: Add media ops with link notify callback
From: Jernej Škrabec
Date: Wed Apr 27 2022 - 14:52:46 EST
Dne petek, 15. april 2022 ob 17:27:38 CEST je Paul Kocialkowski napisal(a):
> In order to keep the power use count fields balanced when link changes
> happen between v4l2_pipeline_pm_get/set calls (in open/close),
> the link_notify media operation callback needs to be registered.
>
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@xxxxxxxxxxx>
Acked-by: Jernej Skrabec <jernej.skrabec@xxxxxxxxx>
Best regards,
Jernej
> ---
> drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
> b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c index
> e59ee3e3f372..578714606c2f 100644
> --- a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
> +++ b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
> @@ -23,6 +23,7 @@
> #include <linux/sched.h>
> #include <linux/sizes.h>
> #include <linux/slab.h>
> +#include <media/v4l2-mc.h>
>
> #include "sun6i_csi.h"
> #include "sun6i_csi_reg.h"
> @@ -574,6 +575,12 @@ void sun6i_csi_set_stream(struct sun6i_csi_device
> *csi_dev, bool enable) CSI_CAP_CH0_VCAP_ON);
> }
>
> +/* Media */
> +
> +static const struct media_device_ops sun6i_csi_media_ops = {
> + .link_notify = v4l2_pipeline_link_notify,
> +};
> +
> /* V4L2 */
>
> static int sun6i_csi_link_entity(struct sun6i_csi_device *csi_dev,
> @@ -683,6 +690,7 @@ static int sun6i_csi_v4l2_setup(struct sun6i_csi_device
> *csi_dev) snprintf(media_dev->bus_info, sizeof(media_dev->bus_info),
> "platform:%s", dev_name(dev));
> media_dev->hw_revision = 0;
> + media_dev->ops = &sun6i_csi_media_ops;
> media_dev->dev = dev;
>
> media_device_init(media_dev);