注册char设备 - 最佳做法

时间:2016-03-19 23:55:21

标签: linux linux-kernel device-driver

我知道有很多关于注册char设备的问题。尽管如此,因为有太多的API,我想要求一些帮助来实现。

我认为为了创建设备,应该在模块的init函数中执行以下步骤。

  1. 注册设备并使用register_chrdev(主要,名称,fops)方法获取主要号码。 major:将0作为主要编号,因此操作系统会为我们选择一个专业。
    fops:将其留空,因为我们将使用sysfs。
  2. 使用class_create方法创建sysfs类。
  3. 使用device_create方法创建sysfs设备。
  4. 使用device_create_file方法创建sysfs文件属性。
  5. 我已经看过网了,我已经阅读了Linux Device Drivers, Third Edition的部分内容,现在我有点困惑。

    1. 有没有理由使用mknod?或者我应该只使用create_device?
    2. alloc_chrdev_region怎么样?在Linux Device Drivers, Third Edition中,它表示这是新的API,它取代了register_chrdev。但如果是这样,它如何与所有sysfs方法(device_create等)相结合?
    3. / dev / *中的设备是否有用,或者只能通过sysfs访问设备?
    4. 什么是sysfs类适合?
    5. 感谢。

0 个答案:

没有答案