Rework the fbdev deferred-I/O to not interfere with fields of struct page. All references from deferred-I/O code to fields in struct page are gone. The rsp state is held in a separate pageref structure. v4: * fix locking in fb_mmap() (Dan) * fix commit-message style (Javier) v3: * rename pagelist to pagereflist (Sam) * use pageref->offset over page->index (Javier) v2: * split off from a larger patchset [1] [1] https://lore.kernel.org/dri-devel/20220303205839.28484-1-tzimmermann@xxxxxxx/ Thomas Zimmermann (5): fbdev: Put mmap for deferred I/O into drivers fbdev: Track deferred-I/O pages in pageref struct fbdev: Refactor implementation of page_mkwrite fbdev: Rename pagelist to pagereflist for deferred I/O fbdev: Use pageref offset for deferred-I/O writeback drivers/gpu/drm/drm_fb_helper.c | 15 +- drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | 10 +- drivers/hid/hid-picolcd_fb.c | 3 +- drivers/staging/fbtft/fbtft-core.c | 21 ++- drivers/video/fbdev/broadsheetfb.c | 27 ++-- drivers/video/fbdev/core/fb_defio.c | 212 +++++++++++++++++-------- drivers/video/fbdev/core/fbmem.c | 22 +-- drivers/video/fbdev/hecubafb.c | 4 +- drivers/video/fbdev/hyperv_fb.c | 10 +- drivers/video/fbdev/metronomefb.c | 23 ++- drivers/video/fbdev/sh_mobile_lcdcfb.c | 27 ++-- drivers/video/fbdev/smscufx.c | 13 +- drivers/video/fbdev/ssd1307fb.c | 4 +- drivers/video/fbdev/udlfb.c | 18 +-- drivers/video/fbdev/xen-fbfront.c | 10 +- include/drm/drm_fb_helper.h | 3 +- include/linux/fb.h | 17 +- 17 files changed, 265 insertions(+), 174 deletions(-) base-commit: 0e7deff6446a4ba2c75f499a0bfa80cd6a15c129 -- 2.36.0