Commit f3a36cb5 authored by Thomas Zimmermann's avatar Thomas Zimmermann Committed by Jani Nikula

drm/{i915,xe}: Unregister in-kernel clients

Unregister all in-kernel clients before unloading the i915 driver. For
other drivers, drm_dev_unregister() does this automatically. As i915 and
xe do not use this helper, they have to perform the call by themselves.

Note that there are currently no in-kernel clients in i915 or xe. The
patch prepares the drivers for a related update of their fbdev support.

v8:
- unregister clients in intel_display_driver_unregister() (Jani)
- mention xe in commit message (Rodrigo, Jani)

v7:
- update xe driver
Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: default avatarJouni Högander <jouni.hogander@intel.com>
Acked-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240409081029.17843-5-tzimmermann@suse.deSigned-off-by: default avatarJani Nikula <jani.nikula@intel.com>
parent 3143c0c9
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include <acpi/video.h> #include <acpi/video.h>
#include <drm/display/drm_dp_mst_helper.h> #include <drm/display/drm_dp_mst_helper.h>
#include <drm/drm_atomic_helper.h> #include <drm/drm_atomic_helper.h>
#include <drm/drm_client.h>
#include <drm/drm_mode_config.h> #include <drm/drm_mode_config.h>
#include <drm/drm_privacy_screen_consumer.h> #include <drm/drm_privacy_screen_consumer.h>
#include <drm/drm_probe_helper.h> #include <drm/drm_probe_helper.h>
...@@ -640,6 +641,8 @@ void intel_display_driver_unregister(struct drm_i915_private *i915) ...@@ -640,6 +641,8 @@ void intel_display_driver_unregister(struct drm_i915_private *i915)
if (!HAS_DISPLAY(i915)) if (!HAS_DISPLAY(i915))
return; return;
drm_client_dev_unregister(&i915->drm);
intel_fbdev_unregister(i915); intel_fbdev_unregister(i915);
/* /*
* After flushing the fbdev (incl. a late async config which * After flushing the fbdev (incl. a late async config which
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include <drm/drm_aperture.h> #include <drm/drm_aperture.h>
#include <drm/drm_atomic_helper.h> #include <drm/drm_atomic_helper.h>
#include <drm/drm_client.h>
#include <drm/drm_gem_ttm_helper.h> #include <drm/drm_gem_ttm_helper.h>
#include <drm/drm_ioctl.h> #include <drm/drm_ioctl.h>
#include <drm/drm_managed.h> #include <drm/drm_managed.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment