Я успешно внедрил драйвер на основе GPIO для своего пользовательского протокола, используя модель устройства платформы. Я хочу обновить его, используя подход дерева устройств. Итак, для начала у меня есть beaglebone black, и я перекрестно скомпилировал ядро, используя конфигурацию дерева устройств, включенную и проверенную во время сообщений консоли uboot, показывающих
Проверка контрольной суммы... ОК
Сглаженный большой двоичный объект дерева устройств с размером 80f80000
Загрузка с использованием большого двоичного объекта fdt по адресу 0x80f80000
Образ ядра XIP... ОК
OK
Использование дерева устройств по адресу 80f80000, конец 80f899de
Я добавил свою запись в общий файл платы с именем узла my_gpio {compatible = "my_gpio" }
Затем я создаю обычный процесс make uImages dtbs LOADADDR....
Наконец я получаю свой uImage с dtb. В моем драйвере я использовал ту же строку «my_gpio», что и свойство .name.
но мой метод зонда не вызывается, что, насколько я знаю, связано с тем, что он не находит совместимых устройств.
Любые предложения помощи были бы замечательными.
В моем драйвере:
static struct platform_driver d_driver = {
.driver = {
.name = "d_gpio",
.of_match_table = d_of_match,
},
.probe = D_probe,
.remove = D_remove
};
Спасибо
struct platform_driver
(где вы установили.of_match_table
, а также ссылочную таблицу). - person eepp   schedule 27.11.2014status
(ваш случай) или когдаstatus
равно"okay"
. - person eepp   schedule 28.11.2014