On Wed, Nov 23, 2022 at 09:02:54AM +0100, Thomas Zimmermann wrote: > > Am 23.11.22 um 04:16 schrieb Randy Dunlap: > > Fix build when CONFIG_FB_OF=y and CONFIG_DRM_OFDRM=m. > > When the latter symbol is =m, kconfig downgrades (limits) the 'select's > > under FB_OF to modular (=m). This causes undefined symbol references: > > > > powerpc64-linux-ld: drivers/video/fbdev/offb.o:(.data.rel.ro+0x58): undefined reference to `cfb_fillrect' > > powerpc64-linux-ld: drivers/video/fbdev/offb.o:(.data.rel.ro+0x60): undefined reference to `cfb_copyarea' > > powerpc64-linux-ld: drivers/video/fbdev/offb.o:(.data.rel.ro+0x68): undefined reference to `cfb_imageblit' > > > > Fix this by allowing FB_OF any time that DRM_OFDRM != y so that the > > selected FB_CFB_* symbols will become =y instead of =m. > > > > In tristate logic (for DRM_OFDRM), this changes the dependency from > > !DRM_OFDRM == 2 - 1 == 1 => modular only (or disabled) > > to (boolean) > > DRM_OFDRM != y == y, allowing the 'select's to cause the > > FB_CFB_* symbols to =y instead of =m. > > > > Fixes: c8a17756c425 ("drm/ofdrm: Add ofdrm for Open Firmware framebuffers") > > Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> > > Suggested-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > > Cc: Thomas Zimmermann <tzimmermann@xxxxxxx> > > Cc: Michal Suchánek <msuchanek@xxxxxxx> > > Cc: linuxppc-dev@xxxxxxxxxxxxxxxx > > Cc: Daniel Vetter <daniel@xxxxxxxx> > > Cc: Helge Deller <deller@xxxxxx> > > Cc: linux-fbdev@xxxxxxxxxxxxxxx > > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > > Acked-by: Thomas Zimmermann <tzimmermann@xxxxxxx> Tested-by: Michal Suchánek <msuchanek@xxxxxxx> > > > --- > > drivers/video/fbdev/Kconfig | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff -- a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig > > --- a/drivers/video/fbdev/Kconfig > > +++ b/drivers/video/fbdev/Kconfig > > @@ -455,7 +455,7 @@ config FB_ATARI > > config FB_OF > > bool "Open Firmware frame buffer device support" > > depends on (FB = y) && PPC && (!PPC_PSERIES || PCI) > > - depends on !DRM_OFDRM > > + depends on DRM_OFDRM != y > > select APERTURE_HELPERS > > select FB_CFB_FILLRECT > > select FB_CFB_COPYAREA > > -- > Thomas Zimmermann > Graphics Driver Developer > SUSE Software Solutions Germany GmbH > Maxfeldstr. 5, 90409 Nürnberg, Germany > (HRB 36809, AG Nürnberg) > Geschäftsführer: Ivo Totev