[PATCH 00/11] drm/fbdev: Remove DRM's helpers for fbdev I/O
Sam Ravnborg
sam at ravnborg.org
Fri May 12 13:41:20 UTC 2023
Hi Thomas,
> >
> > Nice cleanup.
> >
> > From one of the patches:
> >
> > > +config DRM_ARMADA_FBDEV_EMULATION
> > > + bool
> > > + depends on DRM_ARMADA
> > > + select FB_CFB_COPYAREA
> > > + select FB_CFB_FILLRECT
> > > + select FB_CFB_IMAGEBLIT
> >
> > This seems like a hard to maintain way to select a few helper functions.
> > Today we have LD_DEAD_CODE_DATA_ELIMINATION for the configs that care
> > about size - and that should work here as well.
>
> I wasn't too happy about this solution either as it is quite verbose. But I
> don't want to rely on the linker either. It certainly cannot remove exported
> symbols.
I forgot about exported symbols - that makes the idea futile.
>
> But the pattern is very common among the fbdev drivers. We could introduce
> common Kconfig options in fbdev and selcet those instead. Like this:
>
> const FB_IO_HELPERS
> bool
> depends on FB
> select FB_CFB_COPYAREA
> select FB_CFB_FILLRECT
> select FB_CFB_IMAGEBLIT
>
> const FB_SYS_HELPERS
> bool
> depends on FB
> select FB_SYS_COPYAREA
> select FB_SYS_FILLRECT
> select FB_SYS_FOPS
> select FB_SYS_IMAGEBLIT
>
> Apart from DRM, most of the fbdev drivers could use these as well.
That's a much nicer way to express it - and with this we do not introduce
the IMO confusing CFB (Color Frame Buffer) abbreviation in every driver.
Sam
More information about the amd-gfx
mailing list