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 @   流水灯  阅读(51)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
历史上的今天:
2018-03-11 Qt ------ QAction
点击右上角即可分享
微信分享提示