Re: [PATCH v3 23/29] media: exynos4-is: Use v4l2_subdev_get_frame_desc()

Frank Li <[email protected]>
Newsgroups org.kernel.vger.linux-media
Message-ID <aoy2HIkC4WmMEnHM@lizhi-Precision-Tower-5810>
On Mon, Aug 24, 2026 at 03:14:45PM +0300, Sakari Ailus wrote:
> Call v4l2_subdev_get_frame_desc() to obtain the frame descriptor. This is
> preferred over calling the get_frame_desc() pad operation directly.
>
> Signed-off-by: Sakari Ailus <[email protected]>
> ---

Reviewed-by: Frank Li <[email protected]>

>  .../platform/samsung/exynos4-is/fimc-capture.c | 18 ++++++++++++++----
>  1 file changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/platform/samsung/exynos4-is/fimc-capture.c b/drivers/media/platform/samsung/exynos4-is/fimc-capture.c
> index d85811f4b8c5..b5749f9cba39 100644
> --- a/drivers/media/platform/samsung/exynos4-is/fimc-capture.c
> +++ b/drivers/media/platform/samsung/exynos4-is/fimc-capture.c
> @@ -6,6 +6,7 @@
>   * Sylwester Nawrocki <[email protected]>
>   */
>
> +#include <linux/cleanup.h>
>  #include <linux/module.h>
>  #include <linux/kernel.h>
>  #include <linux/types.h>
> @@ -853,7 +854,8 @@ static int fimc_get_sensor_frame_desc(struct v4l2_subdev *sensor,
>  				      struct v4l2_plane_pix_format *plane_fmt,
>  				      unsigned int num_planes, bool try)
>  {
> -	struct v4l2_mbus_frame_desc fd = { };
> +	struct v4l2_mbus_frame_desc *alloc_fd
> +		__free(v4l2_subdev_free_frame_desc) = NULL, fd = { };
>  	int i, ret;
>  	int pad;
>
> @@ -861,10 +863,18 @@ static int fimc_get_sensor_frame_desc(struct v4l2_subdev *sensor,
>  		fd.entry[i].length = plane_fmt[i].sizeimage;
>
>  	pad = sensor->entity.num_pads - 1;
> -	if (try)
> +	if (try) {
>  		ret = v4l2_subdev_call(sensor, pad, set_frame_desc, pad, &fd);
> -	else
> -		ret = v4l2_subdev_call(sensor, pad, get_frame_desc, pad, &fd);
> +	} else {
> +		alloc_fd = v4l2_subdev_get_frame_desc(sensor, pad,
> +						      V4L2_MBUS_FRAME_DESC_TYPE_CSI2);
> +		if (IS_ERR(alloc_fd)) {
> +			ret = PTR_ERR(alloc_fd);
> +		} else {
> +			fd = *alloc_fd;
> +			ret = 0;
> +		}
> +	}
>
>  	if (ret < 0)
>  		return ret;
> --
> 2.47.3
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.