PCI/PM: Use pci_WARN() to include device information
authorBjorn Helgaas <bhelgaas@google.com>
Mon, 7 Oct 2019 12:52:28 +0000 (07:52 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 20 Nov 2019 23:34:17 +0000 (17:34 -0600)
Add and use pci_WARN() wrappers so warnings include device information.

Link: https://lore.kernel.org/r/20191017212851.54237-3-helgaas@kernel.org
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/pci/pci-driver.c
include/linux/pci.h

index 407b1df..5337cbb 100644 (file)
@@ -585,9 +585,9 @@ static int pci_legacy_suspend(struct device *dev, pm_message_t state)
 
                if (!pci_dev->state_saved && pci_dev->current_state != PCI_D0
                    && pci_dev->current_state != PCI_UNKNOWN) {
-                       WARN_ONCE(pci_dev->current_state != prev,
-                               "PCI PM: Device state not saved by %pS\n",
-                               drv->suspend);
+                       pci_WARN_ONCE(pci_dev, pci_dev->current_state != prev,
+                                     "PCI PM: Device state not saved by %pS\n",
+                                     drv->suspend);
                }
        }
 
@@ -612,9 +612,9 @@ static int pci_legacy_suspend_late(struct device *dev, pm_message_t state)
 
                if (!pci_dev->state_saved && pci_dev->current_state != PCI_D0
                    && pci_dev->current_state != PCI_UNKNOWN) {
-                       WARN_ONCE(pci_dev->current_state != prev,
-                               "PCI PM: Device state not saved by %pS\n",
-                               drv->suspend_late);
+                       pci_WARN_ONCE(pci_dev, pci_dev->current_state != prev,
+                                     "PCI PM: Device state not saved by %pS\n",
+                                     drv->suspend_late);
                        goto Fixup;
                }
        }
@@ -670,8 +670,8 @@ static bool pci_has_legacy_pm_support(struct pci_dev *pci_dev)
         * supported as well.  Drivers are supposed to support either the
         * former, or the latter, but not both at the same time.
         */
-       WARN(ret && drv->driver.pm, "driver %s device %04x:%04x\n",
-               drv->name, pci_dev->vendor, pci_dev->device);
+       pci_WARN(pci_dev, ret && drv->driver.pm, "device %04x:%04x\n",
+                pci_dev->vendor, pci_dev->device);
 
        return ret;
 }
@@ -794,9 +794,9 @@ static int pci_pm_suspend(struct device *dev)
 
                if (!pci_dev->state_saved && pci_dev->current_state != PCI_D0
                    && pci_dev->current_state != PCI_UNKNOWN) {
-                       WARN_ONCE(pci_dev->current_state != prev,
-                               "PCI PM: State of device not saved by %pS\n",
-                               pm->suspend);
+                       pci_WARN_ONCE(pci_dev, pci_dev->current_state != prev,
+                                     "PCI PM: State of device not saved by %pS\n",
+                                     pm->suspend);
                }
        }
 
@@ -842,9 +842,9 @@ static int pci_pm_suspend_noirq(struct device *dev)
 
                if (!pci_dev->state_saved && pci_dev->current_state != PCI_D0
                    && pci_dev->current_state != PCI_UNKNOWN) {
-                       WARN_ONCE(pci_dev->current_state != prev,
-                               "PCI PM: State of device not saved by %pS\n",
-                               pm->suspend_noirq);
+                       pci_WARN_ONCE(pci_dev, pci_dev->current_state != prev,
+                                     "PCI PM: State of device not saved by %pS\n",
+                                     pm->suspend_noirq);
                        goto Fixup;
                }
        }
@@ -1311,9 +1311,9 @@ static int pci_pm_runtime_suspend(struct device *dev)
        if (pm && pm->runtime_suspend
            && !pci_dev->state_saved && pci_dev->current_state != PCI_D0
            && pci_dev->current_state != PCI_UNKNOWN) {
-               WARN_ONCE(pci_dev->current_state != prev,
-                       "PCI PM: State of device not saved by %pS\n",
-                       pm->runtime_suspend);
+               pci_WARN_ONCE(pci_dev, pci_dev->current_state != prev,
+                             "PCI PM: State of device not saved by %pS\n",
+                             pm->runtime_suspend);
                return 0;
        }
 
index f9088c8..4846306 100644 (file)
@@ -2400,4 +2400,12 @@ void pci_uevent_ers(struct pci_dev *pdev, enum  pci_ers_result err_type);
 #define pci_info_ratelimited(pdev, fmt, arg...) \
        dev_info_ratelimited(&(pdev)->dev, fmt, ##arg)
 
+#define pci_WARN(pdev, condition, fmt, arg...) \
+       WARN(condition, "%s %s: " fmt, \
+            dev_driver_string(&(pdev)->dev), pci_name(pdev), ##arg)
+
+#define pci_WARN_ONCE(pdev, condition, fmt, arg...) \
+       WARN_ONCE(condition, "%s %s: " fmt, \
+                 dev_driver_string(&(pdev)->dev), pci_name(pdev), ##arg)
+
 #endif /* LINUX_PCI_H */