Re: [PATCH v3 22/29] media: rkisp1: Use v4l2_subdev_get_frame_desc()

Frank Li <[email protected]>
Newsgroups org.kernel.vger.linux-media
Message-ID <aoy0D4eZ1PIj3RKQ@lizhi-Precision-Tower-5810>
On Mon, Aug 24, 2026 at 03:14:44PM +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/rockchip/rkisp1/rkisp1-isp.c     | 21 ++++++++++---------
>  1 file changed, 11 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> index 2311672cedb1..eb8e881759f7 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> @@ -8,6 +8,7 @@
>   * Copyright (C) 2017 Rockchip Electronics Co., Ltd.
>   */
>
> +#include <linux/cleanup.h>
>  #include <linux/iopoll.h>
>  #include <linux/pm_runtime.h>
>  #include <linux/regmap.h>
> @@ -87,11 +88,9 @@ static int rkisp1_gasket_enable(struct rkisp1_device *rkisp1,
>  				struct media_pad *source)
>  {
>  	struct v4l2_subdev *source_sd;
> -	struct v4l2_mbus_frame_desc fd;
>  	unsigned int dt;
>  	u32 mask;
>  	u32 val;
> -	int ret;
>
>  	/*
>  	 * Configure and enable the gasket with the CSI-2 data type. Set the
> @@ -101,22 +100,24 @@ static int rkisp1_gasket_enable(struct rkisp1_device *rkisp1,
>  	 */
>
>  	source_sd = media_entity_to_v4l2_subdev(source->entity);
> -	ret = v4l2_subdev_call(source_sd, pad, get_frame_desc,
> -			       source->index, &fd);
> -	if (ret) {
> +
> +	struct v4l2_mbus_frame_desc *fd __free(v4l2_subdev_free_frame_desc) =
> +		v4l2_subdev_get_frame_desc(source_sd, source->index,
> +					   V4L2_MBUS_FRAME_DESC_TYPE_CSI2);
> +	if (IS_ERR(fd)) {
>  		dev_err(rkisp1->dev,
> -			"failed to get frame descriptor from '%s':%u: %d\n",
> -			source_sd->name, 0, ret);
> -		return ret;
> +			"failed to get frame descriptor from '%s':%u: %pe\n",
> +			source_sd->name, 0, fd);
> +		return PTR_ERR(fd);
>  	}
>
> -	if (fd.num_entries != 1) {
> +	if (fd->num_entries != 1) {
>  		dev_err(rkisp1->dev, "invalid frame descriptor for '%s':%u\n",
>  			source_sd->name, 0);
>  		return -EINVAL;
>  	}
>
> -	dt = fd.entry[0].bus.csi2.dt;
> +	dt = fd->entry[0].bus.csi2.dt;
>
>  	if (rkisp1->gasket_id == 0) {
>  		mask = ISP_DEWARP_CONTROL_MIPI_CSI1_HS_POLARITY
> --
> 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.