From 6662052f2343710a829ab659608df27994edabb8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Pali=20Roh=C3=A1r?= Date: Sat, 22 Apr 2023 11:48:55 +0200 Subject: [PATCH] ls-tree: Print PCI domains in ascending order --- ls-tree.c | 10 ++++++---- lspci.h | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ls-tree.c b/ls-tree.c index 43ff9b1..e21e44c 100644 --- a/ls-tree.c +++ b/ls-tree.c @@ -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); } } diff --git a/lspci.h b/lspci.h index d6a27a2..160c65a 100644 --- a/lspci.h +++ b/lspci.h @@ -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 */ -- 2.39.2