Skip to content

Commit d41d048

Browse files
committed
drm/xe/display: Drop xe_display_driver_remove()
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>
1 parent d01bdc0 commit d41d048

File tree

3 files changed

+3
-17
lines changed

3 files changed

+3
-17
lines changed

drivers/gpu/drm/xe/display/xe_display.c

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ static void xe_display_fini(void *arg)
170170
intel_hpd_poll_fini(xe);
171171
intel_hdcp_component_fini(display);
172172
intel_audio_deinit(xe);
173+
intel_display_driver_remove(display);
173174
}
174175

175176
int xe_display_init(struct xe_device *xe)
@@ -209,16 +210,6 @@ void xe_display_unregister(struct xe_device *xe)
209210
intel_display_driver_unregister(display);
210211
}
211212

212-
void xe_display_driver_remove(struct xe_device *xe)
213-
{
214-
struct intel_display *display = &xe->display;
215-
216-
if (!xe->info.probe_display)
217-
return;
218-
219-
intel_display_driver_remove(display);
220-
}
221-
222213
/* IRQ-related functions */
223214

224215
void xe_display_irq_handler(struct xe_device *xe, u32 master_ctl)

drivers/gpu/drm/xe/display/xe_display.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ struct drm_driver;
1414

1515
bool xe_display_driver_probe_defer(struct pci_dev *pdev);
1616
void xe_display_driver_set_hooks(struct drm_driver *driver);
17-
void xe_display_driver_remove(struct xe_device *xe);
1817

1918
int xe_display_create(struct xe_device *xe);
2019

drivers/gpu/drm/xe/xe_device.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -868,11 +868,11 @@ int xe_device_probe(struct xe_device *xe)
868868

869869
err = xe_pxp_init(xe);
870870
if (err)
871-
goto err_remove_display;
871+
return err;
872872

873873
err = drm_dev_register(&xe->drm, 0);
874874
if (err)
875-
goto err_remove_display;
875+
return err;
876876

877877
xe_display_register(xe);
878878

@@ -899,8 +899,6 @@ int xe_device_probe(struct xe_device *xe)
899899

900900
err_unregister_display:
901901
xe_display_unregister(xe);
902-
err_remove_display:
903-
xe_display_driver_remove(xe);
904902

905903
return err;
906904
}
@@ -911,8 +909,6 @@ void xe_device_remove(struct xe_device *xe)
911909

912910
drm_dev_unplug(&xe->drm);
913911

914-
xe_display_driver_remove(xe);
915-
916912
xe_heci_gsc_fini(xe);
917913
}
918914

0 commit comments

Comments
 (0)