- 论坛徽章:
- 20
|
看着像宽度优先遍历(BFS)?- void show_tree_dev(struct device *d, char *line, char *p)
- {
- struct pci_dev *q = d->dev;
- struct bridge *b;
- p += sprintf(p, "%02x.%x", q->dev, q->func);
- for (b = &host_bridge; b; b = b->chain) {
- if (b->br_dev == b) {
- if (b->secondary == b->subordinate)
- p += sprintf(p, "-[%02x]-", b->secondary);
- else
- p += sprintf(p, "-[%02x-%02x]-", b->secondary, b->subordinate);
- show_tree_bridge(b, line, p);
- return;
- }
- }
- print_it(line, p);
- }
复制代码 根据以上代码, aa.bb-[cc-dd]-对应pci bridge, aa=dev#, bb=func#, cc=secondary#, dd=subordinate#
secondary#是当前pci bridge secondary bus使用的总线号,
subordinate#是当前pci子树中,编号最大的pci总线号。 |
|