Hi Kieran, A few more minor matters that you might want to address on top of Hans's pull request. On Thu, Jul 06, 2017 at 12:01:16PM +0100, Kieran Bingham wrote: ... > +static int adv748x_afe_g_input_status(struct v4l2_subdev *sd, u32 *status) > +{ > + struct adv748x_afe *afe = adv748x_sd_to_afe(sd); > + struct adv748x_state *state = adv748x_afe_to_state(afe); > + int ret; > + > + mutex_lock(&state->mutex); > + > + ret = adv748x_afe_status(afe, status, NULL); > + > + mutex_unlock(&state->mutex); A newline here would be nice. > + return ret; > +} ... > +int adv748x_csi2_set_pixelrate(struct v4l2_subdev *sd, s64 rate) > +{ > + struct v4l2_ctrl *ctrl; > + > + ctrl = v4l2_ctrl_find(sd->ctrl_handler, V4L2_CID_PIXEL_RATE); It'd be much nicer to store the control pointer to your device's own struct and use it. No need to look it up or check whether it was found. > + if (!ctrl) > + return -EINVAL; > + > + return v4l2_ctrl_s_ctrl_int64(ctrl, rate); > +} -- Kind regards, Sakari Ailus e-mail: sakari.ailus@xxxxxx XMPP: sailus@xxxxxxxxxxxxxx