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:
-v3:
- Remane 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
MERGE NOTICE:
These series are based on
» 'commit e4e737bb5c17 ("Linux 5.15-rc2")'
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 | 152 ++++++++++++++++++++++++----------------
include/linux/pci.h | 3 +
2 files changed, 94 insertions(+), 61 deletions(-)
--
2.20.1