/**
*struct subsys_private-这个结构体用来存储驱动核心部分的私有数据(bus_type和calss strcuture)
* @subsys - 用来定义子系统的kset的结构体
* @devices_kset - 子系统的设备目录
* @interfaces - 子系统接口的关联的链表
* @mutex - 保护设备和接口链表
* @drivers_kset - 驱动关联的链表
* @klist_devices - 一个klist 用来重新迭代devices_kset
* @klist_drivers - 一个klist 用来重新迭代drivers_kset
* @bus_notifier - 一个总线告知链表,用来高速总线上发生的任何总线关心的事情
* @bus - 指向与该结构体类型相关的bus_type类型的结构体
* @glue_dirs - 用来避免命名空间的冲突
* @class - 指向与该结构体类型相关的结构体
*这个结构体是实际kobject允许的安全静态分配的结构体。驱动核心意外的任何事物都不允许
触碰这个区域
*/
struct subsys_private {
struct kset subsys;
struct kset *devices_kset;
struct list_head interfaces;
struct mutex mutex;
struct kset *drivers_kset;
struct klist klist_devices;
struct klist klist_drivers;
struct blocking_notifier_head bus_notifier;
unsigned int drivers_autoprobe:1;
struct bus_type *bus;
struct kset glue_dirs;
struct class *class;
};
struct struct
最新推荐文章于 2024-05-16 21:51:14 发布