fbdev: make offb driver tristate

Message ID 20221126000401.25302-1-rdunlap@infradead.org
State New
Headers
Series fbdev: make offb driver tristate |

Commit Message

Randy Dunlap Nov. 26, 2022, 12:04 a.m. UTC
  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@infradead.org>
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Michal Suchánek <msuchanek@suse.de>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Helge Deller <deller@gmx.de>
Cc: linux-fbdev@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org

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

Comments

Thomas Zimmermann Nov. 26, 2022, 1:40 p.m. UTC | #1
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@infradead.org>
> Suggested-by: Arnd Bergmann <arnd@arndb.de>
> Cc: Masahiro Yamada <masahiroy@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Michal Suchánek <msuchanek@suse.de>
> Cc: linuxppc-dev@lists.ozlabs.org
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Helge Deller <deller@gmx.de>
> Cc: linux-fbdev@vger.kernel.org
> Cc: dri-devel@lists.freedesktop.org

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

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

-- 
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
  
Helge Deller Dec. 10, 2022, 4:35 p.m. UTC | #2
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@infradead.org>
>> Suggested-by: Arnd Bergmann <arnd@arndb.de>
>> Cc: Masahiro Yamada <masahiroy@kernel.org>
>> Cc: Thomas Zimmermann <tzimmermann@suse.de>
>> Cc: Michal Suchánek <msuchanek@suse.de>
>> Cc: linuxppc-dev@lists.ozlabs.org
>> Cc: Daniel Vetter <daniel@ffwll.ch>
>> Cc: Helge Deller <deller@gmx.de>
>> Cc: linux-fbdev@vger.kernel.org
>> Cc: dri-devel@lists.freedesktop.org
>
> Acked-by: Thomas Zimmermann <tzimmermann@suse.de>

applied.

Thanks!
Helge



>>
>> ---
>>   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
>
  
Nathan Chancellor Dec. 27, 2022, 6:48 p.m. UTC | #3
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@infradead.org>
> > > Suggested-by: Arnd Bergmann <arnd@arndb.de>
> > > Cc: Masahiro Yamada <masahiroy@kernel.org>
> > > Cc: Thomas Zimmermann <tzimmermann@suse.de>
> > > Cc: Michal Suchánek <msuchanek@suse.de>
> > > Cc: linuxppc-dev@lists.ozlabs.org
> > > Cc: Daniel Vetter <daniel@ffwll.ch>
> > > Cc: Helge Deller <deller@gmx.de>
> > > Cc: linux-fbdev@vger.kernel.org
> > > Cc: dri-devel@lists.freedesktop.org
> > 
> > Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
> 
> 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

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
> > 
> 
>
  
Helge Deller Dec. 27, 2022, 9:06 p.m. UTC | #4
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@infradead.org>
>>>> Suggested-by: Arnd Bergmann <arnd@arndb.de>
>>>> Cc: Masahiro Yamada <masahiroy@kernel.org>
>>>> Cc: Thomas Zimmermann <tzimmermann@suse.de>
>>>> Cc: Michal Suchánek <msuchanek@suse.de>
>>>> Cc: linuxppc-dev@lists.ozlabs.org
>>>> Cc: Daniel Vetter <daniel@ffwll.ch>
>>>> Cc: Helge Deller <deller@gmx.de>
>>>> Cc: linux-fbdev@vger.kernel.org
>>>> Cc: dri-devel@lists.freedesktop.org
>>>
>>> Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
>>
>> 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
>>>
>>
>>
  

Patch

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