免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: albcamus

利用udev在/dev下动态生成/移除设备文件 [复制链接]

论坛徽章:
0
发表于 2007-04-20 16:49 |显示全部楼层
原帖由 bitzilla 于 2007-4-20 16:17 发表于 10楼  
Dom0吧,我没装虚拟机。

我抄你的程序的时候没有全抄,把LICENSE省了



那几个符号是作为GPL symbol导出的:

EXPORT_SYMBOL_GPL(class_create_file)

你把LICENSE弄没了, 当然kernel就不给你用gpl的符号了

论坛徽章:
0
发表于 2007-04-20 22:01 |显示全部楼层


:em12:

我试试!!!!

论坛徽章:
0
发表于 2007-04-20 22:03 |显示全部楼层
这样就没有问题了,谢谢老大!!!

论坛徽章:
0
发表于 2007-04-24 15:16 |显示全部楼层
我曾经就是为了license的问题苦恼了好几天,就是为了这几个函数。当时用的是BSD的license的说。后来改回来了就好了。

论坛徽章:
0
发表于 2008-02-15 11:05 |显示全部楼层
我使用的是2.6.9内核,所以想用class_simple接口生成/dev/myname设备,但是不知道为什么不行?

  1.        if ((my_class = class_simple_create(THIS_MODULE, MY_NAME)) == NULL)
  2.                 return -1;
  3.         class_simple_device_add(my_class, my_dev, NULL, MY_NAME);
复制代码


mydev是上边注册的一个字符设备的dev_t结构,已经成功,major=253,minor=0

但是/dev目录下没有MY_NAME设备, 望解惑!
谢谢

论坛徽章:
0
发表于 2008-02-15 12:44 |显示全部楼层
原帖由 anhongkui 于 2008-2-15 11:05 发表
我使用的是2.6.9内核,所以想用class_simple接口生成/dev/myname设备,但是不知道为什么不行?

       if ((my_class = class_simple_create(THIS_MODULE, MY_NAME)) == NULL)
                return -1;
...


不太清楚, 我没在2.6.13之前的内核上试验过, 你参照ldd3的做法也不成吗?

论坛徽章:
0
发表于 2008-02-15 13:05 |显示全部楼层
我理解的, class_simple_device_add只是根据class_simple生成一个class_device,然后加入到sysfs中,不知道在哪里创建设备节点
网上搜到使用devfs_mk_cdev可以创建成功,但是我使用也不管用

论坛徽章:
0
发表于 2008-02-15 13:29 |显示全部楼层
devfs_mk_cdev在2.6.9中什么都不做,只是单纯的返回0

论坛徽章:
0
发表于 2008-02-15 13:32 |显示全部楼层

回复 #18 anhongkui 的帖子

devfs造就是deprecated了,现在推荐用udev

论坛徽章:
0
发表于 2008-02-15 13:35 |显示全部楼层
原帖由 albcamus 于 2008-2-15 13:32 发表
devfs造就是deprecated了,现在推荐用udev



可是,现在的问题是找不到在2.6.9里边用udev的方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP