(was: drm/fb-helper: Set framebuffer for vga-switcheroo clients) This patch has now turned into a little series. The first two patches are bug fixes for the existing code. The third patch cleans up the drivers. Patch 1 fixes i915 to do the correct thing if the device has not been initialized yet. Switching to the device is only possible after the initialization, but switching away is always possible. Patch 2 is the original patch without the amdgpu changes. Installs the fbdev framebuffer in vga-switcheroo for the PCI device. Does nothing for drivers without vga-switcheroo. Patch 3 cleans up vga_switcheroo_process_delayed_switch() in amdgpu and the other related drivers (i.e., i915, nouveau and radeon). The call is now located at the end of drm_lastclose() and drivers do not need their own lastclose helpers any longer. I kept the r-bs from v1, but patch 1 is entirely new and patch 3 has significantly grown in size. Thomas Zimmermann (3): drm/i915: Allow switching away via vga-switcheroo if uninitialized drm/fb-helper: Set framebuffer for vga-switcheroo clients drm: Call vga_switcheroo_process_delayed_switch() in drm_lastclose drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 - drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 2 -- drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 13 ------------- drivers/gpu/drm/drm_fb_helper.c | 8 ++++++++ drivers/gpu/drm/drm_file.c | 3 +++ drivers/gpu/drm/i915/i915_driver.c | 26 ++----------------------- drivers/gpu/drm/i915/i915_switcheroo.c | 6 +++++- drivers/gpu/drm/nouveau/nouveau_drm.c | 1 - drivers/gpu/drm/nouveau/nouveau_vga.c | 7 ------- drivers/gpu/drm/nouveau/nouveau_vga.h | 1 - drivers/gpu/drm/radeon/radeon_drv.c | 2 +- drivers/gpu/drm/radeon/radeon_drv.h | 1 - drivers/gpu/drm/radeon/radeon_kms.c | 18 ----------------- drivers/gpu/vga/vga_switcheroo.c | 4 ++-- 14 files changed, 21 insertions(+), 72 deletions(-) base-commit: ac04152253dccfb02dcedfa0c57443122cf79314 -- 2.39.0