Я новичок в Linux, пытаюсь понять модель устройства Linux.Я изучал кодовую базу Linux 3.1.6, особенно часть драйверов, и обнаружил, что
- некоторые драйверы использовали (например, устройство i2c-bus: linux-3.1.6 / drivers /i2c / i2c-dev.c) * register_chrdev () * и
- несколько других (например, шина pci: linux-3.1.6 / drivers / pci / bus.c) использовали * device_register () *.
Мой вопрос: когда использовать register_chrdev (да, я знаю его для символьного устройства, но почему бы не использовать device_register) и device_register?
Зависит ли это от того, где находится драйверРазработчик хочет, чтобы его устройство / драйвер были перечислены внизу, как devfs vs sysfs?Или интерфейс, доступный для пользовательского пространства для доступа к устройству?