platform总线注册
kernel_init();
kernel_init_freeable();
do_basic_setup();
driver_init();
platform_bus_init();

platform总线的注册就是在 /sys 文件下建立对应的文件夹和属性文件,并为全局变量 platform_bus_type 创建一个成员变量 struct subsys_private *p,p 内有链表 klist_devices 和 klist_drivers,向 platform 总线添加设备,就是往链表 klist_devices 添加 struct device_private,向 platform 总线添加驱动,就是往链表 klist_drivers 添加 struct driver_private



向总线添加一个驱动
1、往 bus_type->p->drivers_kset 链表添加一个 kobject->entry
2、往 bus_type->p->klist_drivers 链表添加一个 driver_private->knode_bus

浙公网安备 33010602011771号