Когда лучше всего реализовать модуль драйвера I2C в Linux - PullRequest
3 голосов
/ 13 апреля 2010

В настоящее время я имею дело с двумя устройствами, подключенными к шине I2C во встроенной системе под управлением Linux. Я использую существующий драйвер для первого устройства, камеры. Для второго устройства я успешно реализовал программу пользовательского пространства, с помощью которой я могу общаться со вторым устройством. Пока что оба устройства, кажется, сосуществуют счастливо. Однако почти все устройства I2C имеют собственный модуль драйвера. Таким образом, мне интересно, каковы преимущества модуля драйвера. Я посмотрел на следующую тему ...

Когда мне писать модуль ядра Linux?

... но без заключения.

Таким образом, каково будет преимущество написания модуля драйвера I2C над реализацией в пользовательском пространстве?

С уважением, Stefan

1 Ответ

2 голосов
/ 18 июня 2010

В вашей ситуации вы, вероятно, не особо используете модуль драйвера I2C. Если это не сломано ....

Основная причина, по которой я бы включил драйвер модуля ядра, - это когда другой драйвер режима ядра является клиентом I2C или выигрывает от тесной интеграции с ядром. Одним из примеров этого является аудиокодек WM8350, который передает аудиоданные по аудиошине (I2S или AC97) и конфигурирует (например, уровень громкости) через I2C.

Микросхема управления питанием - это еще один пример микросхемы, которой вы бы хотели, чтобы ядро ​​управляло напрямую.

Наконец, я отмечу, что существует несколько видов драйверов I2C. (См. Documentation / i2c / summary.) В некоторых случаях вашему оборудованию может потребоваться драйвер адаптера шины I2C, чтобы научиться взаимодействовать через I2C. Для этого потребуется драйвер режима ядра.

...