PCI/AER: Remove aer_recover_work_func() forward declaration
authorBorislav Petkov <bp@alien8.de>
Wed, 30 May 2018 16:52:16 +0000 (11:52 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Sun, 3 Jun 2018 00:29:27 +0000 (19:29 -0500)
Just move the actual function up so that it is visible to its user
aer_recover_queue().

No functional changes.

Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/pcie/aer/aerdrv_core.c

index 36e622d35c480151d9b0c04d3e01202327ca5edf..946f3f6188aa394f0951a69fadfadd89233f00a5 100644 (file)
@@ -258,7 +258,6 @@ static void handle_error_source(struct pcie_device *aerdev,
 }
 
 #ifdef CONFIG_ACPI_APEI_PCIEAER
-static void aer_recover_work_func(struct work_struct *work);
 
 #define AER_RECOVER_RING_ORDER         4
 #define AER_RECOVER_RING_SIZE          (1 << AER_RECOVER_RING_ORDER)
@@ -273,6 +272,30 @@ struct aer_recover_entry {
 
 static DEFINE_KFIFO(aer_recover_ring, struct aer_recover_entry,
                    AER_RECOVER_RING_SIZE);
+
+static void aer_recover_work_func(struct work_struct *work)
+{
+       struct aer_recover_entry entry;
+       struct pci_dev *pdev;
+
+       while (kfifo_get(&aer_recover_ring, &entry)) {
+               pdev = pci_get_domain_bus_and_slot(entry.domain, entry.bus,
+                                                  entry.devfn);
+               if (!pdev) {
+                       pr_err("AER recover: Can not find pci_dev for %04x:%02x:%02x:%x\n",
+                              entry.domain, entry.bus,
+                              PCI_SLOT(entry.devfn), PCI_FUNC(entry.devfn));
+                       continue;
+               }
+               cper_print_aer(pdev, entry.severity, entry.regs);
+               if (entry.severity == AER_NONFATAL)
+                       pcie_do_nonfatal_recovery(pdev);
+               else if (entry.severity == AER_FATAL)
+                       pcie_do_fatal_recovery(pdev, PCIE_PORT_SERVICE_AER);
+               pci_dev_put(pdev);
+       }
+}
+
 /*
  * Mutual exclusion for writers of aer_recover_ring, reader side don't
  * need lock, because there is only one reader and lock is not needed
@@ -302,29 +325,6 @@ void aer_recover_queue(int domain, unsigned int bus, unsigned int devfn,
        spin_unlock_irqrestore(&aer_recover_ring_lock, flags);
 }
 EXPORT_SYMBOL_GPL(aer_recover_queue);
-
-static void aer_recover_work_func(struct work_struct *work)
-{
-       struct aer_recover_entry entry;
-       struct pci_dev *pdev;
-
-       while (kfifo_get(&aer_recover_ring, &entry)) {
-               pdev = pci_get_domain_bus_and_slot(entry.domain, entry.bus,
-                                                  entry.devfn);
-               if (!pdev) {
-                       pr_err("AER recover: Can not find pci_dev for %04x:%02x:%02x:%x\n",
-                              entry.domain, entry.bus,
-                              PCI_SLOT(entry.devfn), PCI_FUNC(entry.devfn));
-                       continue;
-               }
-               cper_print_aer(pdev, entry.severity, entry.regs);
-               if (entry.severity == AER_NONFATAL)
-                       pcie_do_nonfatal_recovery(pdev);
-               else if (entry.severity == AER_FATAL)
-                       pcie_do_fatal_recovery(pdev, PCIE_PORT_SERVICE_AER);
-               pci_dev_put(pdev);
-       }
-}
 #endif
 
 /**