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@xxxxxxxxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> > --- > 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; > } -- Regards, Laurent Pinchart