Keep Faith

统计

ARM移植

最新评论

字符驱动编写

在linux2.6的内核下编写字符驱动主要的流程为:
在init函数中调用:
register_chrdev_region或者是
alloc_chrdev_region进行设备主,次设备号的注册或申请,如果规定了
主次设备号请使用register_chrdev_region函数,否则可以使用alloc_chrdev_region进行申请。
2.6的内核使用dev_t结构对主次设备号进行管理。
字符设备的注册在2.6内核中则使用了新的cdev_add函数,
可以使用cdev_init函数对cdev结构进行初始化。

cdev_init(&dev->cdev, &cleanerCtl_fops);
dev->cdev.owner = THIS_MODULE;
dev->cdev.ops = &cleanerCtl_fops;
err = cdev_add (&dev->cdev, devno, 1);

同理在exit函数中则可使用
cdev_del(&cleanerCtl_device->cdev);
以及
unregister_chrdev_region(devno, cleanerCtl_nr_devs);

posted on 2007-05-22 23:08 sardis 阅读(468) 评论(0)  编辑 收藏 引用 所属分类: linux移植

只有注册用户登录后才能发表评论。