module_platform_driver宏定义如下: c Copy code #define module_platform_driver(__platform_driver) \ module_driver(__platform_driver, platform_driver_register, \ platform_driver_unregister) 这个宏接受一个platform_driver结构体作为参数,这个结构体必须包含probe函数和remove函数。然后,该宏定义了一个platform_...
因此,展开module_platform_driver(xxx_driver),第一步展开,调用宏module_driver(xxx_driver,platform_driver_register,platform_driver_unregister);第二步展开是展开宏module_driver,展开的结果是(在宏定义里,## 的作用是将连个参数连在一起, # 的作用是加上双引号): static int __init xxx_init(void) { ret...