2011-03-21 34 views
0

我使用g_file_storage作爲我的embedded linux上的驅動程序,以將其作爲任何USB主機的大容量存儲。我已經做得很好!修改linux內核中的現有模塊

現在我需要做的更多....是捕獲USB設備上彈出事件..這是一個功能不是由g_file_storage至今給出。

我已經function fsg_suspend()g_file_storage driver得到這個...它是常規的當Windows USB主機確實"Safely remove hardware"被調用.....

我在想添加一個簡單的printk在發送簡單的消息/var/log/messagefsg_suspend功能,我會從BeagleBoard用戶空間看.....

,但即時通訊成爲一個非常基本的內核編程疑問......如果你能幫助我....

IH大家寫了簡單的內核模塊..這可以說module.c文件一個 我用簡單的make命令編譯它然後modprobe/insmod插入它,然後我用它...... 這是關於一個完全由我寫的模塊。

我也配置一個模塊中的配置文件選項中號而重新編譯內核.. 然後我就做,使模塊,使modules_installmake_install 然後我們用modprobe使用特定功能..pl糾正我,如果我錯了....

但這裏有個模塊是一個內核模塊,如果我做出改變它,然後........

我能不能用它的makefile重新編譯它...並做modprobe ...? 但這Makefile似乎並不支持這個想法..

它會干擾已運行的內核中該模塊的現有副本? 或 我將不得不重新編譯內核?

回答

0

我不明白大部分查詢的前半部分。這個問題被標記爲Linux和內核,那麼爲什麼這麼多關於Windows?

如果我理解正確,您必須禁用現有的設備驅動程序。最簡單的方法就是在沒有它的情況下重建內核。然後使用insmodrmmod命令加載和卸載新的驅動程序。

我不能從你提供的細節中知道,但也許有一種方法讓新驅動程序與舊驅動程序並存。如果它不需要IRQ,或者它可以使用單獨的IRQ,則可以創建新設備節點並獨立於現有驅動程序使用它。

+0

關於windows只有一行不在嗎? – num1 2011-03-21 07:25:52

+0

@ num1:看起來它被編輯得更清晰。 – wallyk 2011-03-21 16:32:20