Hi all, I started looking into cleaning up the modeset probe/remove paths. We have a number of issues there. Modeset and non-modeset initialization and cleanup happily mixed up. Initialization and cleanup of various things happen at different layers in the stack. This is tied to the previous patches on display disable / no display. The first 6 patches are really straightforward cleanup. Then things start getting interesting. In general I'm trying to split the init/cleanup to parts before and after irq&gem init/cleanup, so that we can have the irq&gem stuff at the higher level of i915 probe instead of in modeset code. There are several levels of ugliness associated with this. First, naming. (Door open for bikeshedding, yay.) Second, the split init and cleanup are not symmetrical. The init before irq installed does not match the cleanup after irq uninstalled, for various reasons. This is not so bad for overall probe and driver remove in general, but: Third, the probe failure paths are a total mess. They are already now, in many ways, but this doesn't really help, either. So I'm not sure this should be a blocker, but it's not pretty. BR, Jani. Jani Nikula (13): drm/i915: add i915_driver_modeset_remove() drm/i915: pass i915 to i915_driver_modeset_probe() drm/i915: pass i915 to intel_modeset_driver_remove() drm/i915: abstract intel_panel_sanitize_ssc() from intel_modeset_init() drm/i915: abstract intel_mode_config_init() from intel_modeset_init() drm/i915: pass i915 to intel_modeset_init() and intel_modeset_init_hw() drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall drm/i915: split i915_driver_modeset_remove() to pre/post irq uninstall drm/i915: move gmbus setup down to intel_modeset_init() drm/i915: split i915_driver_modeset_probe() to pre/post irq install drm/i915: move gem init up from modeset init drm/i915: push intel_overlay_init() down to intel_modeset_init() drm/i915: split intel_modeset_init() to pre/post irq install drivers/gpu/drm/i915/display/intel_display.c | 249 ++++++++++--------- drivers/gpu/drm/i915/display/intel_display.h | 8 +- drivers/gpu/drm/i915/i915_drv.c | 139 +++++++---- 3 files changed, 225 insertions(+), 171 deletions(-) -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx