On Wed, Apr 15, 2015 at 11:22 AM, Nikolay Dimitrov <picmaster@...> wrote:
On 04/15/2015 04:13 PM, Bruce Ashfield wrote:
On 2015-04-15 08:33 AM, Bach, Pascal wrote:
Adding oe-core, since that's the right place to have a discussion
As ARM now also moved to device tree it look like in future we will
have more kernels that are using device tree then ones that are
True, but it has been like this for quite some time now :)
As far as I understand currently the generation of device trees is
controlled via KERNEL_DEVICETREE and is handled in via an include
I was thinking about moving this include into a class so it becomes
easier to use. Before I dive into implementing something I would
like some feedback from the community.
The big trick with changing anything like this is compatibility with
existing recipes. Whatever we do, existing recipes and layers
shouldn't be broken .. or if they are broken, there should be a
compelling technical reason to do so.
I have the following variant in mind.
Add the device tree generation to the current kernel.bbclass (or
let kernel.bblcass inherit from a kernel-dtb.bbclass). This way all
kernels would automatically be DT enabled. The class would check if
KERNEL_DEVICETREE is set and generate device trees based on this
information. For boards that don't have KERNEL_DEVICETREE set the
class would do nothing and the behavior is like before. The
advantage I see with this approach is that the only thing a user
needs to do is to set KERNEL_DEVICETREE in the board and make sure
the device trees are available in the kernel they like to build.
That's pretty much the experience that most users have now, since
there's nearly always a kernel recipe created, that recipe includes
linux-dtb.inc, and sets KERNEL_DEVICETREE.
As far as I understood, Pascal's idea is to remove the need for user
recipes to include linux-dtb.inc, and provide this functionality via
That is obvious. My questions are around "why". There's no big
technical advantage, and if you remove that existing file, you break
existing recipes. Which means you need to leave a stub in place.
So without a technical advantage, it's churn for the sake of
Everything else happens to build and package the device tree.Regards,
Was there something specifically that was causing issues with the
current way of building them ?
I appreciate your feedback?
yocto mailing list
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"