subsystem
struct bus_type { const char *name; ...... struct subsys_private *p; };
struct class { const char *name; struct module *owner; ...... struct subsys_private *p; };
以上两个结构体都有成员变量 struct subsys_private *p,这就把设备归为某个总线或者某个class,总线或者class就是设备的子系统类型
struct subsys_private 内有成员变量 struct kset subsys,所以每个子系统也对应一个文件夹
由上图可知,除了块设备的class的父文件夹是/sys,其他设备的class的父文件夹是/sys/class