Hi Thomas, On Tue, May 2, 2023 at 3:02 PM Thomas Zimmermann <tzimmermann@xxxxxxx> wrote:
(was: fbdev: Use regular I/O function for framebuffers) Fbdev provides helpers for framebuffer I/O, such as fb_readl(), fb_writel() or fb_memcpy_to_fb(). The implementation of each helper depends on the architecture, but they are all equivalent to regular I/O functions of similar names. So use regular functions instead and move all helpers into <asm-generic/fb.h> The first patch a simple whitespace cleanup. Until now, <linux/fb.h> contained an include of <asm/io.h>. As this will go away patches 2 to 4 prepare include statements in the various drivers. Source files that use regular I/O helpers, such as readl(), now include <linux/io.h>. Source files that use framebuffer I/O helpers, such as fb_readl(), also include <asm/fb.h>. Patch 5 replaces the architecture-based if-else branching in <linux/fb.h> by helpers in <asm-generic/fb.h>. All helpers use Linux' existing I/O functions. Patch 6 harmonizes naming among fbdev and existing I/O functions. The patchset has been built for a variety of platforms, such as x86-64, arm, aarch64, ppc64, parisc, m64k, mips and sparc. v3: * add the new helpers in <asm-generic/fb.h> * support reordering and native byte order (Geert, Arnd)
Thanks, this fixes the mangled display I was seeing on ARAnyM with bpp=16. BTW, this series seems to have mixed dependencies: the change to include/asm-generic/fb.h depends on "[PATCH v3 00/19] arch: Consolidate <asm/fb.h>"[1], but with that applied, I had to manually fixup drivers/video/fbdev/core/fb_cfb_fops.c. [1] https://lore.kernel.org/all/20230417125651.25126-1-tzimmermann@xxxxxxx, Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds