Handle it as part of xe_display_fini(). The error handling was already
calling it if a step after xe_display_init() failed. Just re-use the
same xe_display_fini() for driver remove.
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250222001051.3012936-8-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
 
        intel_hpd_poll_fini(xe);
        intel_hdcp_component_fini(display);
        intel_audio_deinit(xe);
+       intel_display_driver_remove(display);
 }
 
 int xe_display_init(struct xe_device *xe)
        intel_display_driver_unregister(display);
 }
 
-void xe_display_driver_remove(struct xe_device *xe)
-{
-       struct intel_display *display = &xe->display;
-
-       if (!xe->info.probe_display)
-               return;
-
-       intel_display_driver_remove(display);
-}
-
 /* IRQ-related functions */
 
 void xe_display_irq_handler(struct xe_device *xe, u32 master_ctl)
 
 
 bool xe_display_driver_probe_defer(struct pci_dev *pdev);
 void xe_display_driver_set_hooks(struct drm_driver *driver);
-void xe_display_driver_remove(struct xe_device *xe);
 
 int xe_display_create(struct xe_device *xe);
 
 
 
        err = xe_pxp_init(xe);
        if (err)
-               goto err_remove_display;
+               return err;
 
        err = drm_dev_register(&xe->drm, 0);
        if (err)
-               goto err_remove_display;
+               return err;
 
        xe_display_register(xe);
 
 
 err_unregister_display:
        xe_display_unregister(xe);
-err_remove_display:
-       xe_display_driver_remove(xe);
 
        return err;
 }
 
        drm_dev_unplug(&xe->drm);
 
-       xe_display_driver_remove(xe);
-
        xe_heci_gsc_fini(xe);
 }