On Tue, 2024-04-09 at 10:04 +0200, Thomas Zimmermann wrote: > 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: Thomas Zimmermann <tzimmermann@xxxxxxx> Reviewed-by: Jouni Högander <jouni.hogander@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_display_driver.c | 3 +++ > drivers/gpu/drm/xe/xe_device.c | 1 + > 2 files changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c > b/drivers/gpu/drm/i915/display/intel_display_driver.c > index 87dd07e0d138d..b7d636980d83a 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_driver.c > +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c > @@ -11,6 +11,7 @@ > #include <acpi/video.h> > #include <drm/display/drm_dp_mst_helper.h> > #include <drm/drm_atomic_helper.h> > +#include <drm/drm_client.h> > #include <drm/drm_mode_config.h> > #include <drm/drm_privacy_screen_consumer.h> > #include <drm/drm_probe_helper.h> > @@ -638,6 +639,8 @@ void intel_display_driver_unregister(struct > drm_i915_private *i915) > if (!HAS_DISPLAY(i915)) > return; > > + drm_client_dev_unregister(&i915->drm); > + > intel_fbdev_unregister(i915); > /* > * After flushing the fbdev (incl. a late async config which > diff --git a/drivers/gpu/drm/xe/xe_device.c > b/drivers/gpu/drm/xe/xe_device.c > index 01bd5ccf05ca6..231ab2f4cd0b9 100644 > --- a/drivers/gpu/drm/xe/xe_device.c > +++ b/drivers/gpu/drm/xe/xe_device.c > @@ -9,6 +9,7 @@ > > #include <drm/drm_aperture.h> > #include <drm/drm_atomic_helper.h> > +#include <drm/drm_client.h> > #include <drm/drm_gem_ttm_helper.h> > #include <drm/drm_ioctl.h> > #include <drm/drm_managed.h>