亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
當(dāng)每個(gè)C文件里都有module_init時(shí),怎么把多個(gè)C文件編譯成一個(gè)ko文件?
[打印本頁]
作者:
牡丹巖
時(shí)間:
2014-08-26 12:02
標(biāo)題:
當(dāng)每個(gè)C文件里都有module_init時(shí),怎么把多個(gè)C文件編譯成一個(gè)ko文件?
是這樣的:我用platform平臺總線做驅(qū)動,有兩個(gè)文件:
(1)平臺設(shè)備led_dev.c
(2)平臺驅(qū)動led_drv.c
l現(xiàn)在問題是,
led_dev.c中有:
int __init led_dev_init(void)
{
platform_device_register(&led_device);
return 0;
}
module_init(led_dev_init);
led_drv.c中有:
int __init led_drv_init(void)
{
platform_driver_register(&led_driver);
return 0;
}
module_init(led_drv_init);
采用編譯成模塊時(shí),
Makefile這樣寫:obj-m += led_dev.o led_drv.o
是可以把led_dev.c編譯成led_dev.ko
把led_drv.c編譯成led_drv.ko
然后加載時(shí)insmod兩次就行了!
但現(xiàn)在我想:能不能僅編譯成一個(gè)ko文件,
加載時(shí)只需insmod一次就行了?
為達(dá)到此效果,我的Makefile改成這樣:
obj-m += led.o
led-objs := led_dev.o led_drv.o
但編譯會報(bào)錯(cuò): multiple definition of `init_module'
請問:各位有什么方法呢?不妨賜教!小弟謝過~
作者:
e403076568
時(shí)間:
2014-08-26 18:17
吃飽了撐得
作者:
牡丹巖
時(shí)間:
2014-08-26 18:29
大神 有何賜教呢?
作者:
guocslock
時(shí)間:
2014-08-27 13:12
兩個(gè)文件里面只定義一個(gè)module_init,在其中把需要做的事都做了。
作者:
牡丹巖
時(shí)間:
2014-08-27 16:38
guocslock 發(fā)表于 2014-08-27 13:12
兩個(gè)文件里面只定義一個(gè)module_init,在其中把需要做的事都做了。
看來也只能那樣了!
作者:
lelee007
時(shí)間:
2014-08-27 21:47
必須只能那樣
一個(gè)ko里邊只能有一個(gè)module_init
作者:
牡丹巖
時(shí)間:
2014-08-28 00:53
thanks
作者:
zhangbo357
時(shí)間:
2015-04-24 17:20
你想違背設(shè)備-總線-驅(qū)動模型
作者:
linisco
時(shí)間:
2015-05-04 20:58
沒事找事型的,違背了驅(qū)動的設(shè)備、驅(qū)動的分離思想
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2