Move dsm register/unregister calls from the drivers to under
intel_display_driver register/unregister.

v2: Rebase only

Reviewed-by: Jonathan Cavitt <jonathan.cav...@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.v...@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_driver.c | 4 ++++
 drivers/gpu/drm/i915/i915_driver.c                  | 5 -----
 drivers/gpu/drm/xe/display/xe_display.c             | 2 --
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c 
b/drivers/gpu/drm/i915/display/intel_display_driver.c
index 852f1129a058..b72b07329fbf 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -564,6 +564,8 @@ void intel_display_driver_register(struct intel_display 
*display)
 
        intel_display_device_info_print(DISPLAY_INFO(display),
                                        DISPLAY_RUNTIME_INFO(display), &p);
+
+       intel_register_dsm_handler();
 }
 
 /* part #1: call before irq uninstall */
@@ -639,6 +641,8 @@ void intel_display_driver_unregister(struct intel_display 
*display)
        if (!HAS_DISPLAY(display))
                return;
 
+       intel_unregister_dsm_handler();
+
        drm_client_dev_unregister(display->drm);
 
        /*
diff --git a/drivers/gpu/drm/i915/i915_driver.c 
b/drivers/gpu/drm/i915/i915_driver.c
index 91a7748f4492..1dfd6269b355 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -46,7 +46,6 @@
 #include <drm/drm_probe_helper.h>
 
 #include "display/i9xx_display_sr.h"
-#include "display/intel_acpi.h"
 #include "display/intel_bw.h"
 #include "display/intel_cdclk.h"
 #include "display/intel_crtc.h"
@@ -657,8 +656,6 @@ static void i915_driver_register(struct drm_i915_private 
*dev_priv)
        intel_power_domains_enable(display);
        intel_runtime_pm_enable(&dev_priv->runtime_pm);
 
-       intel_register_dsm_handler();
-
        if (i915_switcheroo_register(dev_priv))
                drm_err(&dev_priv->drm, "Failed to register vga switcheroo!\n");
 }
@@ -675,8 +672,6 @@ static void i915_driver_unregister(struct drm_i915_private 
*dev_priv)
 
        i915_switcheroo_unregister(dev_priv);
 
-       intel_unregister_dsm_handler();
-
        intel_runtime_pm_disable(&dev_priv->runtime_pm);
        intel_power_domains_disable(display);
 
diff --git a/drivers/gpu/drm/xe/display/xe_display.c 
b/drivers/gpu/drm/xe/display/xe_display.c
index 06982a44f44f..ebe0e8c3d722 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -194,7 +194,6 @@ void xe_display_register(struct xe_device *xe)
 
        intel_display_driver_register(display);
        intel_power_domains_enable(display);
-       intel_register_dsm_handler();
 }
 
 void xe_display_unregister(struct xe_device *xe)
@@ -204,7 +203,6 @@ void xe_display_unregister(struct xe_device *xe)
        if (!xe->info.probe_display)
                return;
 
-       intel_unregister_dsm_handler();
        intel_power_domains_disable(display);
        intel_display_driver_unregister(display);
 }
-- 
2.48.1

Reply via email to