第一步:初始化要注册的结构
struct device xxx
{bus type xxx
bus_id xxx 设备名
parent xxx
release xxx
struct resource xxx 对应的硬件资源
};
struct device_driver xxx
{name xxx
bus_type xxx
probe xxx
remove xxx
};
第二步:初始化属性结构
struct xxx_attribute xxx
{struct attribute xxx
show xxx
store xxx
};
第三步:注册结构与创建属性文件
platform_add_device
加载驱动的时候总线调用match函数匹配设备名与驱动名,匹配上后调用驱动中的probe函数来处理
总线不管是先有驱动还是先有设备,添加设备或驱动后总线都调用match,匹配上后调用probe
移除设备后总线会调用驱动中的remove函数如打印移除设备信息