在文件/include/linux/i2c.h中:
根据解释宏module_i2c_driver可以分解成相应驱动模块的init和exit接口。
文件include/linux/device.h中有对module_driver的分解:
综上所述,如果代码中出现 :
module_i2c_driver(ov4689_i2c_driver);
经过上述宏的作用之后,就成为如下形式:
static int __init ov4689_i2c_driver_init(void)
{
return i2c_add_driver(&ov4689_i2c_driver);
}
static void __exit ov4689_i2c_driver_exit(void)
{
return i2c_del_driver(&ov4689_i2c_driver);
}