Как Linux пересекает свое дерево устройств? - PullRequest
0 голосов
/ 24 октября 2018

Если я правильно понимаю, Linux организует устройства в древовидную структуру с узлами типа struct kobject:

struct kobject {
    struct list_head    entry;
    struct kobject      *parent;
    struct kset         *kset;
    // ...
};

. Имеет поля:

  • parent, который указывает на своего родителя struct kobject
  • kset, указатель на struct kset связанных kobjects
  • entry, похоже, что это необходимо дляподдерживать ksets, но я не уверен,

Эти поля указывают либо на родительский объект, либо на объекты того же уровня.Ни один из них не указывает на дочерние узлы.Похоже, пропущенные поля не имеют отношения к проблеме.

Учитывая все это, как Linux пересекает свое дерево устройств, не имея узлов, явно указывающих на их дочерние элементы?

...