0

g_file_storage在我的驱动程序中使用embedded linux它作为任何 USB 主机的大容量存储。我做得很好!

现在我需要做的更多..是在 USB 设备上捕获弹出事件..这是迄今为止尚未提供的功能g_file_storage

我有这个......它是当 Windows USB 主机执行时被调用的function fsg_suspend()例程......g_file_storage driver"Safely remove hardware"

我正在考虑添加一个简单的 printk 以/var/log/messagefsg_suspend功能中发送简单的消息,我将从用户空间观看BeagleBoard......

但我遇到了一个非常基本的内核编程疑问......如果你能帮助我......

我已经编写了简单的内核模块..可以说是module.c文件,我使用简单的 make 命令编译它然后modprobe/insmod插入它然后我使用它...... 这是关于一个完全由我编写的模块。

在重新编译内核时,我还在配置文件中将一个模块配置为选项 M.. 然后我做,制作模块,制作modules_installmake_install 然后我们使用 modprobe该特定功能..pl 如果我错了,请纠正我..

但是这里这个模块是一个内核模块,如果我对其进行更改,那么......

我可以使用它的makefile重新编译它...然后做modprobe ...吗?但是这个Makefile似乎不支持这个想法..

它会干扰运行内核中已经存在的该模块的副本吗?还是我必须重新编译内核?

4

1 回答 1

0

我不明白查询的前半部分。问题被标记为 Linux 和内核,那么为什么有这么多关于 Windows 的内容呢?

如果我理解正确,您将不得不禁用现有的设备驱动程序。最直接的方法是在没有它的情况下重建内核。然后使用insmodandrmmod命令加载和卸载新的驱动程序。

我无法从您提供的详细信息中看出,但也许有一种方法可以让新驱动程序与旧驱动程序共存。如果它不需要 IRQ,或者它可以使用单独的 IRQ,那么您可以创建新的设备节点并独立于现有驱动程序使用它。

于 2011-03-21T07:09:02.557 回答