Re: [PATCH] fbdev: make offb driver tristate

From: Helge Deller
Date: Tue Dec 27 2022 - 16:11:04 EST


On 12/27/22 19:48, Nathan Chancellor wrote:
On Sat, Dec 10, 2022 at 05:35:06PM +0100, Helge Deller wrote:
On 11/26/22 14:40, Thomas Zimmermann wrote:
Am 26.11.22 um 01:04 schrieb Randy Dunlap:
Make the offb (Open Firmware frame buffer) driver tristate,
i.e., so that it can be built as a loadable module.

However, it still depends on the setting of DRM_OFDRM
so that both of these drivers cannot be builtin at the same time
nor can one be builtin and the other one a loadable module.

Build-tested successfully with all combination of DRM_OFDRM and FB_OF.

This fixes a build issue that Michal reported when FB_OF=y and
DRM_OFDRM=m:

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'

Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Suggested-by: Arnd Bergmann <arnd@xxxxxxxx>
Cc: 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>

applied.

Is this going to make it to Linus soon? We are now seeing this error in
our CI, which has the configuration describe in this commit.

https://github.com/ClangBuiltLinux/continuous-integration2/actions/runs/3785609002/jobs/6437398666#step:5:149

https://storage.tuxsuite.com/public/clangbuiltlinux/continuous-integration2/builds/2JUMSmjAoSJoKfl6PPjfU66JGit/build.log


It didn't applied cleanly earlier.
I've now added it to the fbdev for-next branch, and if no problems
show up in the next few days I'll push it before next weekend.
https://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev.git/log/?h=for-next

Helge


Cheers,
Nathan

---
  drivers/video/fbdev/Kconfig |    4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff -- a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -456,8 +456,8 @@ config FB_ATARI
        chipset found in Ataris.
  config FB_OF
-    bool "Open Firmware frame buffer device support"
-    depends on (FB = y) && PPC && (!PPC_PSERIES || PCI)
+    tristate "Open Firmware frame buffer device support"
+    depends on FB && PPC && (!PPC_PSERIES || PCI)
      depends on !DRM_OFDRM
      select APERTURE_HELPERS
      select FB_CFB_FILLRECT