第三个参数是 自动生成函数 void xx_exit(void) 中调用的函数; void xx_exit() { i2c_del_driver ( &__i2c_driver) ; } module_driver include/linux/device/driver.h 244/** 245 * module_driver() - Helper macro for drivers that don't do anything 246 * special in module init/exit. This ...
(ret) { i2c_del_driver(&my_i2c_driver_48); return ret; } return 0; } static void __exit my_i2c_exit(void) { i2c_del_driver(&my_i2c_driver_48); i2c_del_driver(&my_i2c_driver_50); } module_init(my_i2c_init); module_exit(my_i2c_exit); MODULE_LICENSE("GPL")...
static int __init imx588_i2c_driver_init(void) { return i2c_add_driver(&imx588_i2c_driver); } module_init(imx588_i2c_driver_init); static void __exit imx588_i2c_drive_exit(void) { i2c_del_driver(&imx588_i2c_driver); } module_exit(imx588_i2c_driver_exit);发布...
just a macro to remove some boilerplate code, no functional changes. Signed-off-by: Felipe Balbi <ba...@ti.com> --- drivers/mfd/menelaus.c | 23 +--- 1 file changed, 1 insertion(+), 22 deletions(-)
{ \ __unregister(&(__driver) , ##__VA_ARGS__); \ } \ module_exit(__driver##_exit); 理解上述宏定义后,将module_i2c_driver(adxl34x_driver)展开就可以得到: static int __int adxl34x_driver_init(void) { return i2c_register_driver(&adxl34x_driver); ...