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

 

posted @ 2023-03-11 20:19  流水灯  阅读(43)  评论(0编辑  收藏  举报