module_platform_driver注销函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在Linux 内核中,module_platform_driver 宏用于简化一些通用驱动程序的编写。

它为平台驱动程序提供了一个方便的方式,可以注册一个platform_driver 结构,并将其与设备树匹配的设备相关联。

此外,它还提供了一个函数用于自动注销驱动程序,即platform_driver_unregister 函数。

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_driver_register 函数和一个platform_driver_unregister 函数,它们分别用于注册和注销平台驱动程序。

这两个函数都是由module_driver 宏自动提供的,因此无需手动编写。

使用module_platform_driver 宏时,还需要在模块初始化函数中调用它,如下所示:
c
Copy code
static int __init my_driver_init(void)
{
return module_platform_driver(my_platform_driver);
}
在模块退出函数中,不需要调用platform_driver_unregister 函数,因为这个函数已经被module_platform_driver 宏自动提供了。

相关文档
最新文档