[求助] helper2416开发板驱动程序创建设备节点不成功

muxb   2019-3-22 18:19 楼主
请问版主,

helper2416开发板,驱动里面调用class_create创建设备节点失败,是因为根文件系统里面不支持udev文件系统吗?谢谢。
加载驱动后,自己创建设备节点,驱动都可以正常工作的。
我用的自己重新编译的2.6的内核(HELPER2416-KERNEL2.6.21-V100.tar)和jyx提供的root-qtopia.img镜像。

回复评论 (3)

我们用的是mdev,也会自动创建节点,不好意思,最近不常上论坛,回复晚了。。。
My dreams will go on... http://www.jyxtec.com
点赞  2019-4-23 15:30
谢谢斑竹回复,我继续调试,发现是class_create成功返回,但是device_create(first_drv_class, NULL, MKDEV(first_drv_major, 0), NULL, "xxx");这一句就出错了。
说是内核指针指到了空指针。具体是这个:
Unable to handle kernel paging request at virtual address 335e3220
Backtrace:
[] (vsnprintf+0x0/0x544) from [] (device_create+0x78/0xb4)

我重新编译内核,烧写内核和rootfiles都还是这样。还请斑竹帮忙指导,谢谢了。
点赞  2019-4-28 18:40
引用: muxb 发表于 2019-4-28 18:40
谢谢斑竹回复,我继续调试,发现是class_create成功返回,但是device_create(first_drv_class, NULL, MKDEV ...

不好意思,我找到原因了,要用这个接口创建设备:
class_device_create(first_drv_class, NULL, MKDEV(first_drv_major, 0), NULL, "xxx");

既然新接口编译能过,却不能用,有点疑惑。。。
点赞  2019-4-28 18:49
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复