linux内核通过kobject和kset来提供构建层级和维护引用计数的灵活通用服务。在此基础上创建bus,device,driver抽象模型,用于构造各个子系统,抛弃了原生态的离散的设备模型。
platform 是虚拟子系统,它承载了其他子系统的一些资源,它的platform device集中在arch下,可根据config进行配置,在系统up的时候完成注册,其他子系统的驱动在其init函数里面注册platform driver ,在platform driver 与platform device匹配match的时候则会调用platform driver的probe ,然后在probe里面获取arch下的资源注册子系统本身的驱动 。各个子系统在系统up的时候就加载了,往往device跟着一起加载,通常驱动在设备之后。
修改和配置起来较为集中,提供一种较为稳定的编程框架和接口,屏蔽一些内核内部的结构或接口的修改升级,电源管理。
Documentation/filesystems/sysfs.txt