struct bus_type {
const char *name;
struct bus_attribute *bus_attrs; // bus总线的默认属性
struct device_attribute * dev_attrs; // bus总线上设备的默认属性
struct driver_attribute *drv_attrs; // bus总线上设备驱动的默认属性
int (*match) (struct device *dev, struct device_driver *drv); // 当有新的设备或驱动添加到总线上时match函数被调用,如果设备和驱
//动可以匹配,返回0;
int (*uevent) (struct device *dev, struct kobj_uevent_env *env); //当一个设备添加、移除或添加环境变量时,函数调用;
int (*probe) (struct device *dev); // 当有新设备或驱动添加时,probe函数调用,并且回调该驱动的probe函数来初始化相关联的设备
int (*remove) (struct device *dev); // 设备移除时调用remove函数
int (*shutdown) (struct device *dev); // Called at shut-down time to quiesce the device.
int (*suspend) (struct device *dev, pm_message_t state); // 设备进入睡眠时调用suspend函数
int (*resume) (struct device *dev); // 唤醒设备时调用resume
const struct dev_pm_ops *pm; // 总线的电源管理选项,并回调设备驱动的电源管理模块
struct iommu_ops *iommu_ops; //
struct subsys_private *p;
};