struct device_driver结构体定义
时间: 2023-09-02 08:07:12 浏览: 172
在Linux内核中,struct device_driver结构体用于表示一个设备驱动程序。
它的定义如下:
```
struct device_driver {
const char *name;
struct bus_type *bus;
struct module *owner;
const char *mod_name; /* driver model name */
bool suppress_bind_attrs;
const struct of_device_id *of_match_table;
const struct acpi_device_id *acpi_match_table;
const struct platform_device_id *id_table;
int (*probe) (struct device *dev);
int (*remove) (struct device *dev);
void (*shutdown) (struct device *dev);
int (*suspend) (struct device *dev, pm_message_t state);
int (*resume) (struct device *dev);
const struct attribute_group **groups;
const struct dev_pm_ops *pm;
const struct driver_private *p;
};
```
其中,各个成员的含义如下:
- `name`:设备驱动程序的名称。
- `bus`:设备所连接的总线类型。
- `owner`:指向驱动程序模块的指针。
- `mod_name`:驱动程序的模块名。
- `suppress_bind_attrs`:是否禁用绑定属性。
- `of_match_table`:Open Firmware匹配表。
- `acpi_match_table`:ACPI匹配表。
- `id_table`:设备标识表。
- `probe`:设备探测函数指针。
- `remove`:设备移除函数指针。
- `shutdown`:设备关机函数指针。
- `suspend`:设备挂起函数指针。
- `resume`:设备恢复函数指针。
- `groups`:设备属性组。
- `pm`:设备电源管理操作函数指针。
- `p`:驱动程序的私有数据。
阅读全文