|
以前一直采用的是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"); |
|