2015-09-25 1 views
2

Я заинтересован в передаче некоторых данных (динамически созданных во время выполнения) от родительского узла к дочернему узлу в дереве устройств. Например, у меня есть следующий элемент в дереве устройств: (? Корректное)linux kernel-device данные дерева-передачи от родителя к дочернему

parent_node { 
    a-string-property = "A string"; 
    a-string-list-property = "first string", "second string"; 
    a-byte-data-property = [0x01 0x23 0x34 0x56]; 
    child-node1 { 
     first-child-property; 
     second-child-property = <1>; 
     a-string-property = "Hello, world"; 
    }; 
    child-node2 { 
     some_data ; 
    }; 
}; 

Насколько я знаю, вы не можете создать/обновить свойство узла дерева устройства во время выполнения.

Так есть любой вид механизма для передачи данных между родительским узлом и узлом ребенка (возможно, через struct bus_type, struct device или struct device_driver)?

Конечной целью передачи данных является предоставление смещения для преобразования адресов для отображения памяти устройств (дочерние узлы).

+0

У вас есть пример «* данные проходят между родительским узлом и дочерним узлом *»? – sergej

+0

Если у меня был пример, я бы не спросил :) – user426639

+0

«Передавать данные от родителя к ребенку» слишком расплывчато. Существует множество способов передачи данных. Не могли бы вы уточнить, пожалуйста? О какой подсистеме вы говорите (часы, звук, ...)? Опишите прецедент. – sergej

ответ

0

Вы не можете создавать/обновлять свойства узла дерева устройств во время выполнения (правильно?).

На некоторых платформах дерево устройств можно манипулировать во время выполнения. Элемент конфигурации CONFIG_OF_DYNAMIC.

Here представляет собой презентацию о динамическом dt.

Платформы СПАРК и seem to have PowerPC следующие функции для этой цели:

int of_set_property(struct device_node *dp, const char *name, void *val, int len) 
+0

Вы правы - архитектура sparc имеет эту функцию, не уверен в мощности ПК. Но, к сожалению, моя архитектура ARM, поэтому этот путь не имеет значения. Может кто-нибудь предложить что-то, связанное с некоторой структурой шины (просто прохождение игры было бы в порядке, никакого кода необходимо :)) – user426639

Смежные вопросы