OSDN Git Service

PCI/ASPM: Move pci_function_0() upward
authorBolarinwa O. Saheed <refactormyself@gmail.com>
Fri, 19 Nov 2021 19:37:29 +0000 (20:37 +0100)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 19 Nov 2021 22:15:43 +0000 (16:15 -0600)
Move pci_function_0() earlier so we can use it from other functions.

Link: https://lore.kernel.org/r/20211119193732.12343-2-refactormyself@gmail.com
Signed-off-by: Bolarinwa O. Saheed <refactormyself@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
drivers/pci/pcie/aspm.c

index 52c7468..6f128b6 100644 (file)
@@ -105,6 +105,20 @@ static const char *policy_str[] = {
 
 #define LINK_RETRAIN_TIMEOUT HZ
 
+/*
+ * The L1 PM substate capability is only implemented in function 0 in a
+ * multi function device.
+ */
+static struct pci_dev *pci_function_0(struct pci_bus *linkbus)
+{
+       struct pci_dev *child;
+
+       list_for_each_entry(child, &linkbus->devices, bus_list)
+               if (PCI_FUNC(child->devfn) == 0)
+                       return child;
+       return NULL;
+}
+
 static int policy_to_aspm_state(struct pcie_link_state *link)
 {
        switch (aspm_policy) {
@@ -423,20 +437,6 @@ static void pcie_aspm_check_latency(struct pci_dev *endpoint)
        }
 }
 
-/*
- * The L1 PM substate capability is only implemented in function 0 in a
- * multi function device.
- */
-static struct pci_dev *pci_function_0(struct pci_bus *linkbus)
-{
-       struct pci_dev *child;
-
-       list_for_each_entry(child, &linkbus->devices, bus_list)
-               if (PCI_FUNC(child->devfn) == 0)
-                       return child;
-       return NULL;
-}
-
 static void pci_clear_and_set_dword(struct pci_dev *pdev, int pos,
                                    u32 clear, u32 set)
 {