Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux kernel Linux内核wl18xx模块\u init是否生成?_Linux Kernel_Kernel Module - Fatal编程技术网

Linux kernel Linux内核wl18xx模块\u init是否生成?

Linux kernel Linux内核wl18xx模块\u init是否生成?,linux-kernel,kernel-module,Linux Kernel,Kernel Module,我正在查看这个驱动程序/net/wireless/ti/wl18xx驱动程序模块 传统的模块\u init()不在源代码中。然而,跟踪转储显示调用了wl18xx\u驱动程序init(),尽管源代码中没有该函数 我可以在该驱动程序目录的main.o的objdump中看到wl18xx\u driver\u init() 在内核的最新版本中,这些函数/宏是自动生成的吗?这是怎么做到的 wl18xx\u驱动程序初始化是通过扩展模块平台驱动程序(wl18xx\u驱动程序)宏生成的。 它大致扩展到smth,

我正在查看这个
驱动程序/net/wireless/ti/wl18xx
驱动程序模块

传统的
模块\u init()
不在源代码中。然而,跟踪转储显示调用了
wl18xx\u驱动程序init()
,尽管源代码中没有该函数

我可以在该驱动程序目录的
main.o
的objdump中看到
wl18xx\u driver\u init()


在内核的最新版本中,这些函数/宏是自动生成的吗?这是怎么做到的

wl18xx\u驱动程序初始化
是通过扩展
模块平台驱动程序(wl18xx\u驱动程序)
宏生成的。 它大致扩展到smth,如:

static int __init wl18xx_driver_init(void) { 
   return platform_driver_register(&(wl18xx_driver)); 
} 
static initcall_t __initcall_wl18xx_driver_init6 __used __attribute__((__section__(".initcall" "6" ".init"))) = wl18xx_driver_init; 
static void __exit wl18xx_driver_exit(void) { 
    platform_driver_unregister(&(wl18xx_driver)); 
} 
static exitcall_t __exitcall_wl18xx_driver_exit __exit_call = wl18xx_driver_exit;
见和


@最好下次发布一些源代码或链接,这样会更容易。包含内核版本也是一个好主意。

wl18xx\u驱动程序\u init
是通过扩展
模块\u平台\u驱动程序(wl18xx\u驱动程序)
宏生成的。 它大致扩展到smth,如:

static int __init wl18xx_driver_init(void) { 
   return platform_driver_register(&(wl18xx_driver)); 
} 
static initcall_t __initcall_wl18xx_driver_init6 __used __attribute__((__section__(".initcall" "6" ".init"))) = wl18xx_driver_init; 
static void __exit wl18xx_driver_exit(void) { 
    platform_driver_unregister(&(wl18xx_driver)); 
} 
static exitcall_t __exitcall_wl18xx_driver_exit __exit_call = wl18xx_driver_exit;
见和

@最好下次发布一些源代码或链接,这样会更容易。包括内核版本也是一个好主意