+ -
当前位置:首页 → 问答吧 → Linux-2.6.34 编译笔记

Linux-2.6.34 编译笔记

时间:2010-07-31

来源:互联网

关于字符设备的注册,我看到LDD3上用的是register_chrdev_region+cdev
而有些人的驱动用的是register_chrdev ,看了一下里面的代码,基本上就是register_chrdev_region+cdev的封装,那么现在编写字符驱动一般是用register_chrdev_region还是register_chrdev呢?

作者: heyangya   发布时间: 2010-07-31

ldd3上不是说了吗,register_chrdev已经过时了,推荐使用register_chrdev_region+cdev,但前者接口相对简单些,但是相对后者的功能也强大些,比如register_chrdev_region+cdev可以根据不同的minor绑定不同的open(),而register_chrdev却不行,所以在ldd3的例子中可以看到用register_chrdev的情况下实现打开策略时只能是在open()中判断的,而使用register_chrdev_region+cdev可以直接绑定不同的open()实现。

作者: hkeagle   发布时间: 2010-08-01

关于字符设备的注册,我看到LDD3上用的是register_chrdev_region+cdev
而有些人的驱动用的是register_chrdev ,看了一下里面的代码,基本上就是register_chrdev_region+cdev的封装,那么现在编写字符驱动一般是用register_chrdev_region还是register_chrdev呢?

作者: heyangya   发布时间: 2010-07-31

ldd3上不是说了吗,register_chrdev已经过时了,推荐使用register_chrdev_region+cdev,但前者接口相对简单些,但是相对后者的功能也强大些,比如register_chrdev_region+cdev可以根据不同的minor绑定不同的open(),而register_chrdev却不行,所以在ldd3的例子中可以看到用register_chrdev的情况下实现打开策略时只能是在open()中判断的,而使用register_chrdev_region+cdev可以直接绑定不同的open()实现。

作者: hkeagle   发布时间: 2010-08-01

关于字符设备的注册,我看到LDD3上用的是register_chrdev_region+cdev
而有些人的驱动用的是register_chrdev ,看了一下里面的代码,基本上就是register_chrdev_region+cdev的封装,那么现在编写字符驱动一般是用register_chrdev_region还是register_chrdev呢?

作者: heyangya   发布时间: 2010-07-31

ldd3上不是说了吗,register_chrdev已经过时了,推荐使用register_chrdev_region+cdev,但前者接口相对简单些,但是相对后者的功能也强大些,比如register_chrdev_region+cdev可以根据不同的minor绑定不同的open(),而register_chrdev却不行,所以在ldd3的例子中可以看到用register_chrdev的情况下实现打开策略时只能是在open()中判断的,而使用register_chrdev_region+cdev可以直接绑定不同的open()实现。

作者: hkeagle   发布时间: 2010-08-01