[RFC PATCH v4 0/5] Remove unncessary linked list from aspm.c

From: Saheed O. Bolarinwa
Date: Sun Nov 07 2021 - 11:29:59 EST


An extra linked list is created inside aspm.c to keep track of devices
on which the link state was enabled. However, it is possible to access
them via existing device lists.

This series remove the extra linked list and other related members of
the struct pcie_link_state: `root`, `parent` and `downstream`. All
these are now either calculated or obtained directly when needed.

VERSION CHANGES:
-v4:
- Fix uninitialised variable.

-v3:
» - Rename pci_get_parent() to pcie_upstream_link() and improve
» the logic based previous review.
» - Improve the algorithm to iterate through the devices

- v2:
» - Avoid using BUG_ON()
» - Create helper function pci_get_parent()
» - Fix a bug from the previous version

Bolarinwa O. Saheed (4):
PCI/ASPM: Remove struct pcie_link_state.parent
PCI/ASPM: Remove struct pcie_link_state.root
PCI/ASPM: Remove struct pcie_link_state.downstream
PCI/ASPM: Remove unncessary linked list from aspm.c

Saheed O. Bolarinwa (1):
PCI: Handle NULL value inside pci_upstream_bridge()

drivers/pci/pcie/aspm.c | 153 ++++++++++++++++++++++++----------------
include/linux/pci.h | 3 +
2 files changed, 95 insertions(+), 61 deletions(-)

--
2.20.1