LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 878|回复: 1

请教关于字符设备注册的疑问

[复制链接]
发表于 2007-2-6 19:45:28 | 显示全部楼层 |阅读模式
以前一直采用的是register_chrdev()这个函数来注册字符设备,但是看了LDD书之后,上面介绍了新的注册字符设备的方法,我就自己写了一个,虽然编译通过了,但是在加载的时候却说是段错误,请问是怎么回事,以下是我自己写的注册设备时的代码.望指教:
dev_t dev_id;
alloc_chrdev_region(&dev_id, 0, 1, "mydevice");
Major = MAJOR(dev_id);
struct cdev* my_cdev = cdev_alloc();
cdev_init(&my_cdev, &fops);/*fops是前面定义了的*/
my_cdev->ops = &fops;
int err = cdev_add(my_cdev, dev_id, 1);
if (err)
printk(KERN_ALERT "error\n");
 楼主| 发表于 2007-2-6 20:11:26 | 显示全部楼层
哦.搞定了,把书上内容看错了,cdev_init(&my_cdev, &fops);这一行应该去掉,因为如果cdev是出现在另外一个结构体中的话应该加上,如果不是的话就不需要这一行的初始化!
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表