История изменений
Исправление tailgunner, (текущая версия) :
Поздравляю, звание главного сноба ЛОРа за тобой.
Я буду нести его с честью.
А ты про Device Tree что-нибудь знаешь кроме того что оно тру в отличе от?
Пользуюсь им лет 8, иногда правлю готовые.
Проверить compatible = b-model-3,* у верхней ноды? Проходить по всему дереву пересчитывая gpio pins?
Это путь, по которому ходят разве что писатели драйверов (и то у них есть способы получше).
Но если он в какой-то момент станет не goipdev0, а gpiodev42?
А piogdev666 оно стать не может?
И если я например хочу найти тот один из двух pwm-compatible пинов на raspberry pi 3, который не связан одновременно с audio-выходом, то как мне его определить?
Я бы спросил тебя, как эту задачу усложняет то, что device tree написано в Си-стиле, но просто процитирую тебя же:
alpha> библиотек для работы с gpio
Оставь библиотекам и драйверам разбираться с тем, какие устройства gpio есть в системе. А если ты сама пишешь библиотеки и драйверы, тебе придется читать документацию и искать атрибуты DT, к которым ты можешь прицепиться.
P.S. device tree compiler и libfdt давно уже написаны.
Исправление tailgunner, :
Поздравляю, звание главного сноба ЛОРа за тобой.
Я буду нести его с честью.
А ты про Device Tree что-нибудь знаешь кроме того что оно тру в отличе от?
Пользуюсь им лет 8, иногда правлю готовые.
Проверить compatible = b-model-3,* у верхней ноды? Проходить по всему дереву пересчитывая gpio pins?
Это путь, по которому ходят разве что писатели драйверов (и то у них есть способы получше).
Но если он в какой-то момент станет не goipdev0, а gpiodev42?
А piogdev666 оно стать не может?
И если я например хочу найти тот один из двух pwm-compatible пинов на raspberry pi 3, который не связан одновременно с audio-выходом, то как мне его определить?
Я бы спросил тебя, как эту задачу усложняет то, что device tree написано в Си-стиле, но просто процитирую тебя же:
alpha> библиотек для работы с gpio
Оставь библиотекам и драйверам разбираться с тем, какие устройства gpio есть в системе. А если ты сама пишешь библиотеки и драйверы, тебе придется читать документацию и искать атрибуты DT, к которым ты можешь прицепиться.
Исходная версия tailgunner, :
Поздравляю, звание главного сноба ЛОРа за тобой.
Я буду нести его с честью.
А ты про Device Tree что-нибудь знаешь кроме того что оно тру в отличе от?
Пользуюсь им лет 8, иногда правлю готовые.
Проверить compatible = b-model-3,* у верхней ноды? Проходить по всему дереву пересчитывая gpio pins?
Это путь, по которому ходят разве что писатели драйверов (и то у них есть способы получше).
Но если он в какой-то момент станет не goipdev0, а gpiodev42?
А piogdev666 оно стать не может?
И если я например хочу найти тот один из двух pwm-compatible пинов на raspberry pi 3, который не связан одновременно с audio-выходом, то как мне его определить?
Я бы спросил тебя, как эту задачу усложняет то, что device tree написано в чем-Си-стиле, но просто процитирую тебя же:
alpha> библиотек для работы с gpio
Оставь библиотекам и драйверам разбираться с тем, какие устройства gpio есть в системе. А если ты сама пишешь библиотеки и драйверы, тебе придется читать документацию и искать атрибуты DT, к которым ты можешь прицепиться.