In this series: 1. Add 32 GT/s decoding in some macros as a complementary 2. Remove redundancy in speed presentation process and improve the codes. Currently We use switch-case statements to acquire the speed string according to the pci bus speed in current_link_speed_show() and pcie_get_speed_cap(). It leads to redundant and when new standard comes, we have to add cases in the related functions, which is easy to omit at somewhere. Abstract the judge statements out. Use macros and pci speed arrays instead. Then only the macros and arrays need to be extended when next generation comes. Link: https://lore.kernel.org/linux-pci/20200113211728.GA113776@xxxxxxxxxx/ https://lore.kernel.org/linux-pci/20200114224909.GA19633@xxxxxxxxxx/ change since v1: 1. split "PCI: Make pci_bus_speed_strings[] public" from the series 2. split v1 PATCH 4 to two patches as suggested 3. modify some description in commit as suggested Yicong Yang (6): PCI: add 32 GT/s decoding in some macros PCI: Add comments for link speed info arrays PCI: Refactor and rename PCIE_SPEED2STR macro PCI: Refactor bus_speed_read() with PCI_SPEED2STR macro PCI: Add PCIE_LNKCAP2_SLS2SPEED macro PCI: Reduce redundancy in current_link_speed_show() drivers/pci/pci-sysfs.c | 26 ++++---------------------- drivers/pci/pci.c | 23 +++++++---------------- drivers/pci/pci.h | 21 ++++++++++++++------- drivers/pci/probe.c | 8 ++++++++ drivers/pci/slot.c | 10 +++------- 5 files changed, 36 insertions(+), 52 deletions(-) -- 2.8.1