Я пытаюсь написать основанный на дескрипторе интерфейс GPIO в x86 из linux книги по разработке драйверов Джона Мэдиу. Я узнал
С интерфейсом на основе дескриптора, до выделения и взяв в собственность GP IOs, эти GP IOs должны были где-то отображаться. Под отображением я имею в виду, что они должны быть назначены вашему устройству, в то время как с устаревшим целочисленным интерфейсом вам нужно просто получить число в любом месте и запросить его как GPIO. На самом деле в ядре существует три вида отображения:
Я решил выбрать метод «Отображение данных платформы» для отображения в ядро, для этого я прошел документ https://djwong.org/docs/kdoc/driver-api/gpio/board.html .
В нем упоминаются gpiod_lookup_table
и gpios_table()
, которые можно использовать для обновления справочной таблицы. Для использования этой функции я использую
#include <linux/gpio/machine.h>
в своем коде. Но при компиляции я получил ошибку:
fatal error: linux/gpio/machine.h: No such file or directory
Может кто-нибудь помочь разобраться?
Я использую версию ядра 3.10.