diff options
author | Pali Rohár <pali@kernel.org> | 2023-04-22 11:48:55 +0200 |
---|---|---|
committer | Pali Rohár <pali@kernel.org> | 2023-04-29 14:28:09 +0200 |
commit | 6662052f2343710a829ab659608df27994edabb8 (patch) | |
tree | 230a9beb3c50e01f94669bc4d0fe7c48843d11a2 | |
parent | 7eb8744984a8b7ed52d35a291ff5ed6373e93499 (diff) | |
download | pciutils-6662052f2343710a829ab659608df27994edabb8.tar.gz |
ls-tree: Print PCI domains in ascending order
-rw-r--r-- | ls-tree.c | 10 | ||||
-rw-r--r-- | lspci.h | 2 |
2 files changed, 7 insertions, 5 deletions
@@ -12,7 +12,7 @@ #include "lspci.h" -struct bridge host_bridge = { NULL, NULL, NULL, NULL, NULL, 0, ~0, 0, ~0, NULL }; +struct bridge host_bridge = { NULL, NULL, NULL, NULL, NULL, NULL, ~0, ~0, ~0, ~0, NULL }; static struct bus * find_bus(struct bridge *b, unsigned int domain, unsigned int n) @@ -127,7 +127,7 @@ grow_tree(void) b->subordinate = ~0; *last_br = b; last_br = &b->chain; - b->prev = b->child = NULL; + b->prev = b->next = b->child = NULL; b->first_bus = NULL; b->last_bus = NULL; b->br_dev = NULL; @@ -160,7 +160,7 @@ grow_tree(void) } *last_br = b; last_br = &b->chain; - b->prev = b->child = NULL; + b->prev = b->next = b->child = NULL; b->first_bus = NULL; b->last_bus = NULL; b->br_dev = d; @@ -188,7 +188,7 @@ grow_tree(void) b->subordinate = b->secondary; *last_br = b; last_br = &b->chain; - b->prev = b->child = NULL; + b->prev = b->next = b->child = NULL; b->first_bus = NULL; b->last_bus = NULL; b->br_dev = parent; @@ -459,6 +459,8 @@ show_forest(struct pci_filter *filter) if (host_bridge.child) { for (b=host_bridge.child; b->prev; b=b->prev) + b->prev->next = b; + for (; b; b=b->next) show_tree_bridge(filter, b, line, line); } } @@ -88,7 +88,7 @@ void show_kernel_cleanup(void); struct bridge { struct bridge *chain; /* Single-linked list of bridges */ - struct bridge *prev, *child; /* Tree of bridges */ + struct bridge *next, *prev, *child; /* Tree of bridges */ struct bus *first_bus, *last_bus; /* List of buses connected to this bridge */ unsigned int domain; unsigned int primary, secondary, subordinate; /* Bus numbers */ |