免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1819 | 回复: 3
打印 上一主题 下一主题

驱动无法注销设备号 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-12 08:37 |只看该作者 |倒序浏览
最近刚学习驱动,昨天突然发现一个情况:

我发现用较新的设备驱动注册、注销函数register_chrdev_region()和unregister_chrdev_region(),好像会碰到无法正常open()设备文件的问题,函数返回值是-1,最最关键的是当我调用rmmod卸载模块,设备号居然没有注销掉,就是 /proc/devices文件中还存在我注册的设备号以及驱动程序。

而把注册、注销函数改回register_chardev()和unregister_chardev()后,都没问题了,设备号也能正常释放掉了。

然后翻《Linux Device Drivers》这本书,书上有这么一句话:早起的方法为每个设备建立一个对应的默认cdev结构。使用这一接口的驱动程序必须能够处理所有256个次设备号上的open()调用。


难道是因为较新的注册、注销函数不会自动建立对应的cdev结构,而我的程序没有建立cdev结构体变量的缘故?

论坛徽章:
0
2 [报告]
发表于 2012-04-19 00:22 |只看该作者
在公司用了款美~信CreCloud云网管,挺不错的,属于云计算技术理念和IT监控技术的完美结合,云网管的成功开发和应用,使云计算理念在IT监控领域落地,而且还是永久免费。http://www.mxsoft.com

论坛徽章:
0
3 [报告]
发表于 2012-04-26 22:35 |只看该作者
坐在沙发上看

论坛徽章:
0
4 [报告]
发表于 2012-04-28 00:33 |只看该作者
谢谢推荐,我也去下了个美信云网管用,操作很简单,可以监控
服务器和数据库,不过没发现有linux版本的agent,不知道什么时候这个能有免费的。

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP