• linux驱动入口函数module_init何时被调用


    linux驱动入口函数module_init何时被调用

    被上面的宏处理过后,变成__initcall_func6 __used加入到内核映像的".initcall"区。内核的加载的时候,会搜索".initcall"中的所有条目,并按优先级加载它们,普通驱动程序的优先级是6。其它模块优先级列出如下:值越小,越先加载。

     
    #define pure_initcall(fn)           __define_initcall("0",fn,0)  
      
    #define core_initcall(fn)            __define_initcall("1",fn,1)  
      
    #define core_initcall_sync(fn)          __define_initcall("1s",fn,1s)  
      
    #define postcore_initcall(fn)             __define_initcall("2",fn,2)  
      
    #define postcore_initcall_sync(fn)  __define_initcall("2s",fn,2s)  
      
    #define arch_initcall(fn)            __define_initcall("3",fn,3)  
      
    #define arch_initcall_sync(fn)          __define_initcall("3s",fn,3s)  
      
    #define subsys_initcall(fn)                 __define_initcall("4",fn,4)  
      
    #define subsys_initcall_sync(fn)      __define_initcall("4s",fn,4s)  
      
    #define fs_initcall(fn)                          __define_initcall("5",fn,5)  
      
    #define fs_initcall_sync(fn)               __define_initcall("5s",fn,5s)  
      
    #define rootfs_initcall(fn)                  __define_initcall("rootfs",fn,rootfs)  
      
    #define device_initcall(fn)                 __define_initcall("6",fn,6)  
      
    #define device_initcall_sync(fn)       __define_initcall("6s",fn,6s)  
      
    #define late_initcall(fn)             __define_initcall("7",fn,7)  
      
    #define late_initcall_sync(fn)           __define_initcall("7s",fn,7s)  
    from:
    https://www.jianshu.com/p/a783474efb44


  • 相关阅读:
    C# struct 性能损失
    [leetcode] Scramble String @python
    [leetcode]Symmetric Tree @ Python
    [leetcode] Maximum Product Subarray @ python
    [leetcode]Surrounded Regions @ Python
    [leetcode]N-Queens @ Python
    [leetcode] Combinations @ Python [ask for help]
    [leetcode]Next Permutation @ Python
    [building block] merge sort @ Python
    [leetcode] Integer to Roman @ Python
  • 原文地址:https://www.cnblogs.com/aspirs/p/15251397.html
Copyright © 2020-2023  润新知