- 論壇徽章:
- 20
|
看著像寬度優(yōu)先遍歷(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);
- }
復(fù)制代碼 根據(jù)以上代碼, aa.bb-[cc-dd]-對應(yīng)pci bridge, aa=dev#, bb=func#, cc=secondary#, dd=subordinate#
secondary#是當(dāng)前pci bridge secondary bus使用的總線號,
subordinate#是當(dāng)前pci子樹中,編號最大的pci總線號。 |
|