Hi Thomas, On Sun, Aug 06, 2023 at 01:58:51PM +0200, Thomas Zimmermann wrote: > Add initializer macros for struct fb_ops of drivers that operate > on SBUS-based framebuffers. Also add a Kconfig token to select the > correct dependencies. > > All drivers for SBUS-based framebuffers use the regular helpers > for framebuffers in I/O memory (fb_io_*() and cfb_*()). Each driver > provides its own implementation of mmap and ioctls around common > helpers from sbuslib.o. Patches 1 to 3 clean up the code a bit and > add a initializer macros that set up struct fb_ops correctly. > > Patches 4 to 11 convert the drivers. Each patch slightly renames > the driver's mmap and ioctl functions so that it matches the name > pattern of sbuslib.o. > > Like the other fbdev initializer macros, the SBUS helpers are > easily grep-able. In a later patch, they can be left to empty values > if the rsp. functionality, such as file I/O or console, has been > disabled. > > There are no functional changes. The helpers set the defaults that > the drivers already use. The fb_io_*() functions that the initializer > macro sets are the defaults if struct fb_ops.fb_read or .fb_write are > NULL. After all drivers have been updated to set them explicitly, the > defaults can be dropped and the functions can be made optional. I have looked thought it all and it looks good. I throw it after my sparc32 build setup - also OK. cg6 and ffb uses their own imageblit and friends, but this is nicely handled in the patches. I also like how you managed to handle the compat case. All are: Reviewed-by: Sam Ravnborg <sam@xxxxxxxxxxxx> Sam