lkml.org 
[lkml]   [2022]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH v4 35/45] media: sun6i-csi: Get bridge subdev directly in capture stream ops
    Date
    Dne petek, 15. april 2022 ob 17:28:01 CEST je Paul Kocialkowski napisal(a):
    > The remote subdev connected to the capture video device is always
    > our bridge, so get the bridge subdev directly instead of using a
    > dedicated helper (which is removed by this commit).
    >
    > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>

    Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>

    Best regards,
    Jernej

    > ---
    > .../sunxi/sun6i-csi/sun6i_csi_capture.c | 30 ++-----------------
    > 1 file changed, 3 insertions(+), 27 deletions(-)
    >
    > diff --git a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_capture.c
    > b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_capture.c index
    > b3452ed825ad..b92f8aa55a92 100644
    > --- a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_capture.c
    > +++ b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_capture.c
    > @@ -42,22 +42,6 @@ void sun6i_csi_capture_format(struct sun6i_csi_device
    > *csi_dev, *field = csi_dev->capture.format.fmt.pix.field;
    > }
    >
    > -static struct v4l2_subdev *
    > -sun6i_csi_capture_remote_subdev(struct sun6i_csi_capture *capture, u32
    > *pad) -{
    > - struct media_pad *remote;
    > -
    > - remote = media_entity_remote_pad(&capture->pad);
    > -
    > - if (!remote || !is_media_entity_v4l2_subdev(remote->entity))
    > - return NULL;
    > -
    > - if (pad)
    > - *pad = remote->index;
    > -
    > - return media_entity_to_v4l2_subdev(remote->entity);
    > -}
    > -
    > /* Format */
    >
    > static const struct sun6i_csi_capture_format sun6i_csi_capture_formats[] =
    > { @@ -822,8 +806,8 @@ static int sun6i_csi_capture_start_streaming(struct
    > vb2_queue *queue, struct sun6i_csi_capture *capture = &csi_dev->capture;
    > struct sun6i_csi_capture_state *state = &capture->state;
    > struct video_device *video_dev = &capture->video_dev;
    > + struct v4l2_subdev *subdev = &csi_dev->bridge.subdev;
    > struct device *dev = csi_dev->dev;
    > - struct v4l2_subdev *subdev;
    > int ret;
    >
    > state->sequence = 0;
    > @@ -832,12 +816,6 @@ static int sun6i_csi_capture_start_streaming(struct
    > vb2_queue *queue, if (ret < 0)
    > goto error_state;
    >
    > - subdev = sun6i_csi_capture_remote_subdev(capture, NULL);
    > - if (!subdev) {
    > - ret = -EINVAL;
    > - goto error_media_pipeline;
    > - }
    > -
    > /* PM */
    >
    > ret = pm_runtime_resume_and_get(dev);
    > @@ -886,12 +864,10 @@ static void sun6i_csi_capture_stop_streaming(struct
    > vb2_queue *queue) {
    > struct sun6i_csi_device *csi_dev = vb2_get_drv_priv(queue);
    > struct sun6i_csi_capture *capture = &csi_dev->capture;
    > + struct v4l2_subdev *subdev = &csi_dev->bridge.subdev;
    > struct device *dev = csi_dev->dev;
    > - struct v4l2_subdev *subdev;
    >
    > - subdev = sun6i_csi_capture_remote_subdev(capture, NULL);
    > - if (subdev)
    > - v4l2_subdev_call(subdev, video, s_stream, 0);
    > + v4l2_subdev_call(subdev, video, s_stream, 0);
    >
    > sun6i_csi_capture_disable(csi_dev);
    > sun6i_csi_capture_irq_disable(csi_dev);




    \
     
     \ /
      Last update: 2022-04-27 21:48    [W:4.034 / U:0.124 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site