【发布时间】:2014-10-26 05:27:34
【问题描述】:
在我的内核驱动程序项目中,我通过调用注册一个动态主号码
register_chrdev(0, "xxxxx", &xxxxx);
并注销我的模块
unregister_chrdev(0. "xxxxx");
当我用insmod 加载我的驱动程序时,我收到了动态主号码,例如243,并且在rmmod 之后,成功删除了模块。
但是,在删除模块 /proc/devices 后,仍然显示主编号 (243)。
如何删除我的驱动程序以同时从/proc/devices 的列表中删除其主要编号?
【问题讨论】:
-
这是一个 programming 网站,这个问题与 Stack Overflow 无关,因为它似乎与编程无关,试试 Super用户。 请注意:如果没有关于您正在尝试做什么的进一步信息,超级用户将不会接受此问题。目前在任何 Stack Exchange 上都存在 网站,不清楚这个问题在问什么。
-
@cybermonkey - 不正确,这是一个涉及编写自定义内核模块的编程问题,特别是为什么在其删除方法中的 unregister 函数调用没有被清理(并且通过扩展,如果它应该被清理)预期或需要什么其他函数调用)。 “不清楚”来自您对内核编程的不熟悉。
-
@ChrisStratton 这个问题还没有解释清楚,也没有研究工作。
-
再次不真实 - 发布者已经研究了创建设备所需的函数调用,并且在反向操作方面遇到困难 - 编写和测试代码正是鼓励的。很明显,你不是目标受众,但你也不是网站成员的全部。你可能更乐意将注意力集中在你熟悉的主题上,而把其他人留给那些对他们有所了解。
标签: linux-kernel linux-device-driver