[v2,7/7] media: i2c: imx219: Simplify code handling in s_fmt
Commit Message
The imx219_set_pad_format() function adjusts the media bus code provided
through the v4l2_subdev_format parameter to a media bus code known
to be supported by the sensor.
The same exact operation is performed by the imx219_get_format_code()
function which called by imx219_update_pad_format(), which is in the
imx219_set_pad_format() call path.
Remove the duplicated operation and simplify imx219_set_pad_format().
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
drivers/media/i2c/imx219.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
Comments
Hi Jacopo
On 7/10/23 9:22 PM, Jacopo Mondi wrote:
> The imx219_set_pad_format() function adjusts the media bus code provided
> through the v4l2_subdev_format parameter to a media bus code known
> to be supported by the sensor.
>
> The same exact operation is performed by the imx219_get_format_code()
> function which called by imx219_update_pad_format(), which is in the
> imx219_set_pad_format() call path.
>
> Remove the duplicated operation and simplify imx219_set_pad_format().
>
> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
> ---
> drivers/media/i2c/imx219.c | 10 +---------
> 1 file changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/drivers/media/i2c/imx219.c b/drivers/media/i2c/imx219.c
> index 4f214f10846c..a1136fdfbed2 100644
> --- a/drivers/media/i2c/imx219.c
> +++ b/drivers/media/i2c/imx219.c
> @@ -750,21 +750,13 @@ static int imx219_set_pad_format(struct v4l2_subdev *sd,
> const struct imx219_mode *mode;
> int exposure_max, exposure_def, hblank;
> struct v4l2_mbus_framefmt *format;
> - unsigned int i;
> -
> - for (i = 0; i < ARRAY_SIZE(imx219_mbus_formats); i++)
> - if (imx219_mbus_formats[i] == fmt->format.code)
> - break;
> - if (i >= ARRAY_SIZE(imx219_mbus_formats))
> - i = 0;
>
> mode = v4l2_find_nearest_size(supported_modes,
> ARRAY_SIZE(supported_modes),
> width, height,
> fmt->format.width, fmt->format.height);
>
> - imx219_update_pad_format(imx219, mode, &fmt->format,
> - imx219_mbus_formats[i]);
> + imx219_update_pad_format(imx219, mode, &fmt->format, fmt->format.code);
> format = v4l2_subdev_get_pad_format(sd, sd_state, 0);
>
> if (imx219->mode == mode && format->code == fmt->format.code)
@@ -750,21 +750,13 @@ static int imx219_set_pad_format(struct v4l2_subdev *sd,
const struct imx219_mode *mode;
int exposure_max, exposure_def, hblank;
struct v4l2_mbus_framefmt *format;
- unsigned int i;
-
- for (i = 0; i < ARRAY_SIZE(imx219_mbus_formats); i++)
- if (imx219_mbus_formats[i] == fmt->format.code)
- break;
- if (i >= ARRAY_SIZE(imx219_mbus_formats))
- i = 0;
mode = v4l2_find_nearest_size(supported_modes,
ARRAY_SIZE(supported_modes),
width, height,
fmt->format.width, fmt->format.height);
- imx219_update_pad_format(imx219, mode, &fmt->format,
- imx219_mbus_formats[i]);
+ imx219_update_pad_format(imx219, mode, &fmt->format, fmt->format.code);
format = v4l2_subdev_get_pad_format(sd, sd_state, 0);
if (imx219->mode == mode && format->code == fmt->format.code)