Hi Todor, On Mon, Apr 03, 2017 at 05:02:52PM +0300, Todor Tomov wrote: ... > +power_down: > + ov5645_s_power(&ov5645->sd, false); > +free_entity: > + media_entity_cleanup(&ov5645->sd.entity); > +free_ctrl: > + v4l2_ctrl_handler_free(&ov5645->ctrls); > + mutex_destroy(&ov5645->power_lock); > + > + return ret; > +} > + > + > +static int ov5645_remove(struct i2c_client *client) > +{ > + struct v4l2_subdev *sd = i2c_get_clientdata(client); > + struct ov5645 *ov5645 = to_ov5645(sd); > + > + v4l2_async_unregister_subdev(&ov5645->sd); > + media_entity_cleanup(&ov5645->sd.entity); > + v4l2_ctrl_handler_free(&ov5645->ctrls); > + mutex_destroy(&ov5645->power_lock); > + > + return 0; > +} > + An extra newline here and above the function above. Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > + > +static const struct i2c_device_id ov5645_id[] = { > + { "ov5645", 0 }, > + {} > +}; > +MODULE_DEVICE_TABLE(i2c, ov5645_id); > + > +static const struct of_device_id ov5645_of_match[] = { > + { .compatible = "ovti,ov5645" }, > + { /* sentinel */ } > +}; > +MODULE_DEVICE_TABLE(of, ov5645_of_match); > + > +static struct i2c_driver ov5645_i2c_driver = { > + .driver = { > + .of_match_table = of_match_ptr(ov5645_of_match), > + .name = "ov5645", > + }, > + .probe = ov5645_probe, > + .remove = ov5645_remove, > + .id_table = ov5645_id, > +}; > + > +module_i2c_driver(ov5645_i2c_driver); > + > +MODULE_DESCRIPTION("Omnivision OV5645 Camera Driver"); > +MODULE_AUTHOR("Todor Tomov <todor.tomov@xxxxxxxxxx>"); > +MODULE_LICENSE("GPL v2"); -- Kind regards, Sakari Ailus e-mail: sakari.ailus@xxxxxx XMPP: sailus@xxxxxxxxxxxxxx