drm/xe/pm: Use PM functions only if CONFIG_PM_SLEEP is enabled
authorFrancois Dugast <francois.dugast@intel.com>
Wed, 23 Aug 2023 09:10:20 +0000 (09:10 +0000)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:41:02 +0000 (11:41 -0500)
This fixes the build without CONFIG_PM_SLEEP such as for riscv.

Signed-off-by: Francois Dugast <francois.dugast@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_pci.c

index 08c1edc74d962b6a130e92d676815f5237d16b0d..b72d9f568768bcae9cf31bac23c8fd6a84d025d9 100644 (file)
@@ -30,28 +30,6 @@ enum toggle_d3cold {
        D3COLD_ENABLE,
 };
 
-static void d3cold_toggle(struct pci_dev *pdev, enum toggle_d3cold toggle)
-{
-       struct xe_device *xe = pdev_to_xe_device(pdev);
-       struct pci_dev *root_pdev;
-
-       if (!xe->d3cold.capable)
-               return;
-
-       root_pdev = pcie_find_root_port(pdev);
-       if (!root_pdev)
-               return;
-
-       switch (toggle) {
-       case D3COLD_DISABLE:
-               pci_d3cold_disable(root_pdev);
-               break;
-       case D3COLD_ENABLE:
-               pci_d3cold_enable(root_pdev);
-               break;
-       }
-}
-
 struct xe_subplatform_desc {
        enum xe_subplatform subplatform;
        const char *name;
@@ -741,6 +719,28 @@ static void xe_pci_shutdown(struct pci_dev *pdev)
 }
 
 #ifdef CONFIG_PM_SLEEP
+static void d3cold_toggle(struct pci_dev *pdev, enum toggle_d3cold toggle)
+{
+       struct xe_device *xe = pdev_to_xe_device(pdev);
+       struct pci_dev *root_pdev;
+
+       if (!xe->d3cold.capable)
+               return;
+
+       root_pdev = pcie_find_root_port(pdev);
+       if (!root_pdev)
+               return;
+
+       switch (toggle) {
+       case D3COLD_DISABLE:
+               pci_d3cold_disable(root_pdev);
+               break;
+       case D3COLD_ENABLE:
+               pci_d3cold_enable(root_pdev);
+               break;
+       }
+}
+
 static int xe_pci_suspend(struct device *dev)
 {
        struct pci_dev *pdev = to_pci_dev(dev);
@@ -851,12 +851,12 @@ static int xe_pci_runtime_idle(struct device *dev)
 
        return 0;
 }
-#endif
 
 static const struct dev_pm_ops xe_pm_ops = {
        SET_SYSTEM_SLEEP_PM_OPS(xe_pci_suspend, xe_pci_resume)
        SET_RUNTIME_PM_OPS(xe_pci_runtime_suspend, xe_pci_runtime_resume, xe_pci_runtime_idle)
 };
+#endif
 
 static struct pci_driver xe_pci_driver = {
        .name = DRIVER_NAME,
@@ -864,7 +864,9 @@ static struct pci_driver xe_pci_driver = {
        .probe = xe_pci_probe,
        .remove = xe_pci_remove,
        .shutdown = xe_pci_shutdown,
+#ifdef CONFIG_PM_SLEEP
        .driver.pm = &xe_pm_ops,
+#endif
 };
 
 int xe_register_pci_driver(void)