linux之device_init()

Main.c(L_5.0_04210\kernel\init):start_kernel();

Main.c(L_5.0_04210\kernel\init):reset_init();

Main.c(L_5.0_04210\kernel\init):kernel_init();

Main.c(L_5.0_04210\kernel\init):kernel_init_freeable();

Main.c(L_5.0_04210\kernel\init):do_basic_setup();

Main.c(L_5.0_04210\kernel\init):driver_init();

bus.c(L_5.0_04210\kernel\drivers\base):device_init();

 

 

static void __init do_basic_setup(void)

{

        cpuset_init_smp();

        usermodehelper_init();

        shmem_init();

        driver_init();

        init_irq_proc();

        do_ctors();

        usermodehelper_enable();

        do_initcalls();

        random_int_secret_init();

}

 

由上面函数可以知道,device注册在module_init执行之前

 

void __initdriver_init(void)

{

        /* These are the core pieces */

        devtmpfs_init();

        devices_init();//---------sys/devices

        buses_init();//---------sys/bus

        classes_init();//---------sys/class

        firmware_init();//---------sys/firmware

        hypervisor_init();

 

        /* These are also core pieces, but mustcome after the

         * core core pieces.

         */

        platform_bus_init();//---------sys/bus/platform

        cpu_dev_init();

        memory_dev_init();

}

 

由上面函数可以知道,sys/device注册在sys/bus执行之前

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值