LINUX.ORG.RU

История изменений

Исправление 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, к которым ты можешь прицепиться.