Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

auxdisplay/cfag12864bfb: Use struct fb_info.screen_buffer

Use info->screen_buffer when reading and writing framebuffers in
system memory. It's the correct pointer for this address space.

The struct fb_info has a union to store the framebuffer memory. This can
either be info->screen_base if the framebuffer is stored in I/O memory,
or info->screen_buffer if the framebuffer is stored in system memory.

As the driver operates on the latter address space, it is wrong to use
.screen_base and .screen_buffer must be used instead. This also gets
rid of casting needed due to not using the correct data type.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230428122452.4856-2-tzimmermann@suse.de

+1 -1
+1 -1
drivers/auxdisplay/cfag12864bfb.c
··· 72 72 if (!info) 73 73 goto none; 74 74 75 - info->screen_base = (char __iomem *) cfag12864b_buffer; 75 + info->screen_buffer = cfag12864b_buffer; 76 76 info->screen_size = CFAG12864B_SIZE; 77 77 info->fbops = &cfag12864bfb_ops; 78 78 info->fix = cfag12864bfb_fix;