Hi Sakari,
Thank you for the patch.
On Wed, Mar 13, 2024 at 09:25:07AM +0200, Sakari Ailus wrote:
> ccs_propagate() no longer stores information in the driver's context
> struct. The which parameter can thus be removed.
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> ---
> drivers/media/i2c/ccs/ccs-core.c | 12 +++++-------
> 1 file changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/media/i2c/ccs/ccs-core.c b/drivers/media/i2c/ccs/ccs-core.c
> index a147dbb9f362..838daab212f2 100644
> --- a/drivers/media/i2c/ccs/ccs-core.c
> +++ b/drivers/media/i2c/ccs/ccs-core.c
> @@ -2304,8 +2304,7 @@ static int ccs_get_format(struct v4l2_subdev *subdev,
>
> /* Changes require propagation only on sink pad. */
> static void ccs_propagate(struct v4l2_subdev *subdev,
> - struct v4l2_subdev_state *sd_state, int which,
> - int target)
> + struct v4l2_subdev_state *sd_state, int target)
> {
> struct ccs_subdev *ssd = to_ccs_subdev(subdev);
> struct v4l2_rect *comp, *crop;
> @@ -2512,7 +2511,7 @@ static int ccs_set_format(struct v4l2_subdev *subdev,
> crop->top = 0;
> crop->width = fmt->format.width;
> crop->height = fmt->format.height;
> - ccs_propagate(subdev, sd_state, fmt->which, V4L2_SEL_TGT_CROP);
> + ccs_propagate(subdev, sd_state, V4L2_SEL_TGT_CROP);
>
> return 0;
> }
> @@ -2727,7 +2726,7 @@ static int ccs_set_compose(struct v4l2_subdev *subdev,
> ccs_set_compose_scaler(subdev, sd_state, sel, sink_crop, comp);
>
> *comp = sel->r;
> - ccs_propagate(subdev, sd_state, sel->which, V4L2_SEL_TGT_COMPOSE);
> + ccs_propagate(subdev, sd_state, V4L2_SEL_TGT_COMPOSE);
>
> if (sel->which == V4L2_SUBDEV_FORMAT_ACTIVE)
> return ccs_pll_blanking_update(sensor);
> @@ -2817,7 +2816,7 @@ static int ccs_set_crop(struct v4l2_subdev *subdev,
> *crop = sel->r;
>
> if (ssd != sensor->pixel_array && sel->pad == CCS_PAD_SINK)
> - ccs_propagate(subdev, sd_state, sel->which, V4L2_SEL_TGT_CROP);
> + ccs_propagate(subdev, sd_state, V4L2_SEL_TGT_CROP);
>
> return 0;
> }
> @@ -3339,7 +3338,6 @@ static int ccs_init_state(struct v4l2_subdev *sd,
> v4l2_subdev_state_get_format(sd_state, pad, CCS_STREAM_PIXEL);
> struct v4l2_rect *crop =
> v4l2_subdev_state_get_crop(sd_state, pad, CCS_STREAM_PIXEL);
> - bool is_active = !sd->active_state || sd->active_state == sd_state;
>
> ccs_get_native_size(ssd, crop);
>
> @@ -3357,7 +3355,7 @@ static int ccs_init_state(struct v4l2_subdev *sd,
> sensor->csi_format->code : sensor->internal_csi_format->code;
> fmt->field = V4L2_FIELD_NONE;
>
> - ccs_propagate(sd, sd_state, is_active, V4L2_SEL_TGT_CROP);
> + ccs_propagate(sd, sd_state, V4L2_SEL_TGT_CROP);
>
> return 0;
> }
@@ -2304,8 +2304,7 @@ static int ccs_get_format(struct v4l2_subdev *subdev,
/* Changes require propagation only on sink pad. */
static void ccs_propagate(struct v4l2_subdev *subdev,
- struct v4l2_subdev_state *sd_state, int which,
- int target)
+ struct v4l2_subdev_state *sd_state, int target)
{
struct ccs_subdev *ssd = to_ccs_subdev(subdev);
struct v4l2_rect *comp, *crop;
@@ -2512,7 +2511,7 @@ static int ccs_set_format(struct v4l2_subdev *subdev,
crop->top = 0;
crop->width = fmt->format.width;
crop->height = fmt->format.height;
- ccs_propagate(subdev, sd_state, fmt->which, V4L2_SEL_TGT_CROP);
+ ccs_propagate(subdev, sd_state, V4L2_SEL_TGT_CROP);
return 0;
}
@@ -2727,7 +2726,7 @@ static int ccs_set_compose(struct v4l2_subdev *subdev,
ccs_set_compose_scaler(subdev, sd_state, sel, sink_crop, comp);
*comp = sel->r;
- ccs_propagate(subdev, sd_state, sel->which, V4L2_SEL_TGT_COMPOSE);
+ ccs_propagate(subdev, sd_state, V4L2_SEL_TGT_COMPOSE);
if (sel->which == V4L2_SUBDEV_FORMAT_ACTIVE)
return ccs_pll_blanking_update(sensor);
@@ -2817,7 +2816,7 @@ static int ccs_set_crop(struct v4l2_subdev *subdev,
*crop = sel->r;
if (ssd != sensor->pixel_array && sel->pad == CCS_PAD_SINK)
- ccs_propagate(subdev, sd_state, sel->which, V4L2_SEL_TGT_CROP);
+ ccs_propagate(subdev, sd_state, V4L2_SEL_TGT_CROP);
return 0;
}
@@ -3339,7 +3338,6 @@ static int ccs_init_state(struct v4l2_subdev *sd,
v4l2_subdev_state_get_format(sd_state, pad, CCS_STREAM_PIXEL);
struct v4l2_rect *crop =
v4l2_subdev_state_get_crop(sd_state, pad, CCS_STREAM_PIXEL);
- bool is_active = !sd->active_state || sd->active_state == sd_state;
ccs_get_native_size(ssd, crop);
@@ -3357,7 +3355,7 @@ static int ccs_init_state(struct v4l2_subdev *sd,
sensor->csi_format->code : sensor->internal_csi_format->code;
fmt->field = V4L2_FIELD_NONE;
- ccs_propagate(sd, sd_state, is_active, V4L2_SEL_TGT_CROP);
+ ccs_propagate(sd, sd_state, V4L2_SEL_TGT_CROP);
return 0;
}