第三个参数是 自动生成函数 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 ...
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(-)
i2c_register_driver(THIS_MODULE, driver) module_driver(): #define module_driver(__driver, __register, __unregister, ...) \ static int __init __driver##_init(void) \ { \ return __register(&(__driver) , ##__VA_ARGS__); \ } \ module_init(__driver##_init); \ static void ...