Remove struct fb_info.apertures and FBINFO_MISC_FIRMWARE from fbdev and handle the aperture ownership without involving the fbdev core. The apertures field in struct fb_info is a remnant from earlier ownership management for framebuffer apertures. When fbdev core code still handled ownership of the framebuffer among fbdev device drivers, generic drivers set the aperture ranges to claim the firmware scanout buffer for themselves. Now that we have a module with helpers that manage aperture and framebuffer ownership among drivers, the aperture field is not needed any longer. In fact, several drivers set this field, even though they are not generic fbdev drivers. Only drivers that set FBINFO_MISC_FIRMWARE can use apertures in a meaningful way. To remove FBINFO_MISC_FIRMWARE, patches 1 and 2 remove it from fbcon. It was used to work around issues with font loading. That is now all handled in userspace. Patches 3 to 9 remove aperture setup from all non-generic drivers. These drivers are not for firmware graphics and do not have to set the values. For DRM, we do not need to allocate the apertures field any longer. Patches 10 to 17 update all generic fbdev drivers to manage aperture ownership by themselves by called Linux aperture helpers. The setup of the apertures field and setting FBINFO_MISC_FIRMWARE is being removed as a result of that. With all of its users gone, patch 18 removes FBINFO_MISC_FIRMWARE, struct fb_info.apertures and the fbdev core's aperture code. Tested with handover combinations of efifb, simpledrm and radeon. Thomas Zimmermann (18): fbcon: Remove trailing whitespaces Revert "fbcon: don't lose the console font across generic->chip driver switch" drm/gma500: Do not set struct fb_info.apertures drm/i915: Do not set struct fb_info.apertures drm/radeon: Do not set struct fb_info.apertures drm/fb-helper: Do not allocate unused apertures structure fbdev/clps711x-fb: Do not set struct fb_info.apertures fbdev/hyperv-fb: Do not set struct fb_info.apertures vfio-mdev/mdpy-fb: Do not set struct fb_info.apertures fbdev/efifb: Add struct efifb_par for driver data fbdev/efifb: Do not use struct fb_info.apertures fbdev/offb: Allocate struct offb_par with framebuffer_alloc() fbdev/offb: Do not use struct fb_info.apertures fbdev/simplefb: Do not use struct fb_info.apertures fbdev/vesafb: Remove trailing whitespaces fbdev/vesafb: Do not use struct fb_info.apertures fbdev/vga16fb: Do not use struct fb_info.apertures drm/fbdev: Remove aperture handling and FBINFO_MISC_FIRMWARE drivers/gpu/drm/drm_fb_helper.c | 20 ++--------- drivers/gpu/drm/gma500/framebuffer.c | 5 --- drivers/gpu/drm/i915/display/intel_fbdev.c | 7 ---- drivers/gpu/drm/radeon/radeon_fb.c | 4 --- drivers/video/fbdev/clps711x-fb.c | 10 +----- drivers/video/fbdev/core/fbcon.c | 41 ++++++++++------------ drivers/video/fbdev/core/fbmem.c | 33 ----------------- drivers/video/fbdev/core/fbsysfs.c | 1 - drivers/video/fbdev/efifb.c | 35 +++++++++++------- drivers/video/fbdev/hyperv_fb.c | 17 ++++----- drivers/video/fbdev/offb.c | 33 +++++++++-------- drivers/video/fbdev/simplefb.c | 19 +++++----- drivers/video/fbdev/vesafb.c | 37 ++++++++++--------- drivers/video/fbdev/vga16fb.c | 15 +++----- include/linux/fb.h | 22 ------------ samples/vfio-mdev/mdpy-fb.c | 8 ----- 16 files changed, 99 insertions(+), 208 deletions(-) base-commit: d322881f7e33af24901ee8ccaec3beef82f21203 prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24 prerequisite-patch-id: 3f204510fcbf9530d6540bd8e6128cce598988b6 -- 2.39.0