On 11/09/2022 22:01, Mikhail Rudenko wrote: > +static const struct i2c_device_id ov4689_id[] = { > + { "ov4689", 0 }, > + {}, > +}; > +MODULE_DEVICE_TABLE(i2c, ov4689_id); > + > +static const struct of_device_id ov4689_of_match[] = { > + { .compatible = "ovti,ov4689" }, > + {}, > +}; > +MODULE_DEVICE_TABLE(of, ov4689_of_match); > + > +static struct i2c_driver ov4689_i2c_driver = { > + .driver = { > + .name = "ov4689", > + .pm = &ov4689_pm_ops, > + .of_match_table = of_match_ptr(ov4689_of_match), of_match_ptr is usually paired with maybe_unused, otherwise you will have compile test warnings. > + }, > + .probe = ov4689_probe, > + .remove = ov4689_remove, > + .id_table = ov4689_id, > +}; > + > +module_i2c_driver(ov4689_i2c_driver); > + > +MODULE_DESCRIPTION("OmniVision ov4689 sensor driver"); > +MODULE_LICENSE("GPL"); Best regards, Krzysztof