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 <rdun...@infradead.org>
Suggested-by: Masahiro Yamada <masahi...@kernel.org>
Cc: Thomas Zimmermann <tzimmerm...@suse.de>
Cc: Michal Suchánek <msucha...@suse.de>
Cc: linuxppc-...@lists.ozlabs.org
Cc: Daniel Vetter <dan...@ffwll.ch>
Cc: Helge Deller <del...@gmx.de>
Cc: linux-fb...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org

Acked-by: Thomas Zimmermann <tzimmerm...@suse.de>

---
  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

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to