[Buildroot] [RFC v2] linux: add fbtft kernel extension

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Wed Dec 31 08:20:41 UTC 2014


Dear Yann E. MORIN,

On Wed, 31 Dec 2014 00:28:07 +0100, Yann E. MORIN wrote:

> OK, so it seems it will not be possible to biuld it as an out-of-tree
> module, after all. DAmn, that's really, really bad... :-(
> 
> So, here's why: the code uses FB-related functions that are built from
> separate source files, most of them conditionalised to a Kconfig symbol.
> But those symbols are promptless, and can only be selected.
> 
> Thus, unless another frambuffer implementation is enabled, that selects
> them, they wonlt be enabled, and thus the corresponding source files
> will not be built, and the needed functions will not be in the Kernel
> (neither built-in, nor in a module).
> 
> Moreover, one of the symbol, CONFIG_FB_BACKLIGHT, can only be selected
> by PCI-dependent symbols (DRM stuff, like radeon or nouvea), or SuperH
> dependent symbols (for some SuperH framebuffers).
> 
> Almost all needed symbols can be selected by cheating, and selecting the
> virtual framebuffer, but that's not a real sane option. And we'd still
> miss two symbols anyway.

Hum, indeed, that is a very good reason why external modules cannot
work. Thanks for the analysis.

> The proper solution would be to patch the kernel to add a kind of
> "framebuffer library for external FB drivers" (a bit like we have in the
> "Library routines" sub-menu for CRC and a few other functions, that
> would select all the hidden knobs for helper functions, and build them
> (built-in or module), and send that patch upstream.

No the proper solution would be for those fbtft people to submit their
drivers to the upstream kernel. But of course, since those drivers are
developed by RasberryPi folks, they cannot play with the normal
open-source rules of contributing things upstream: they *have* to do
some utter crap and do everything in their own fork.

Sigh. RasberryPi is definitely the worst platform ever when it comes to
learning embedded Linux.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com


More information about the buildroot mailing list