struct v4l2_rect *atomisp_subdev_get_rect(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh, uint32_t which, uint32_t pad, uint32_t target) { struct atomisp_sub_device *isp_sd = v4l2_get_subdevdata(sd); if (which == V4L2_SUBDEV_FORMAT_TRY) { switch (target) { case V4L2_SEL_TGT_CROP: return v4l2_subdev_get_try_crop(fh, pad); case V4L2_SEL_TGT_COMPOSE: return v4l2_subdev_get_try_compose(fh, pad); } } switch (target) { case V4L2_SEL_TGT_CROP: return &isp_sd->fmt[pad].crop; case V4L2_SEL_TGT_COMPOSE: return &isp_sd->fmt[pad].compose; } return NULL; }
static struct v4l2_rect *brx_get_compose(struct vsp1_brx *brx, struct v4l2_subdev_pad_config *cfg, unsigned int pad) { return v4l2_subdev_get_try_compose(&brx->entity.subdev, cfg, pad); }