platform_driver结构体
时间: 2023-09-02 20:07:08 浏览: 328
基于platform总线的驱动模型
platform_driver结构体是Linux内核中的一个结构体,用于管理平台设备驱动程序。
该结构体包含了一系列的成员变量和函数指针,用于描述驱动程序的基本信息、初始化、挂载、卸载以及设备的控制等操作。
下面是platform_driver结构体的定义:
```c
struct platform_driver {
int (*probe)(struct platform_device *);
int (*remove)(struct platform_device *);
void (*shutdown)(struct platform_device *);
int (*suspend)(struct platform_device *, pm_message_t state);
int (*resume)(struct platform_device *);
struct device_driver driver;
const struct platform_device_id *id_table;
bool prevent_deferred_probe;
};
```
其中,成员变量的含义如下:
- probe:设备探测函数,用于初始化设备并将其添加到系统中。
- remove:设备移除函数,用于卸载设备并释放相关资源。
- shutdown:设备关机函数,用于处理设备在关机时的相关操作。
- suspend:设备挂起函数,用于处理设备在挂起时的相关操作。
- resume:设备恢复函数,用于处理设备在恢复时的相关操作。
- driver:设备驱动程序的基本信息,包括驱动名、设备名等。
- id_table:设备ID表,用于描述设备的硬件信息。
- prevent_deferred_probe:是否在设备探测过程中进行延迟探测。
通过填充platform_driver结构体的成员变量和函数指针,可以实现平台设备驱动程序的管理和控制。
阅读全文