
Hi Simon,
I'm finally taking the time to address the reviews that have been made here.
On Sat, Apr 09, 2016 at 12:40:14PM -0600, Simon Glass wrote:
Hi Maxime,
On 4 April 2016 at 12:25, Maxime Ripard maxime.ripard@free-electrons.com wrote:
The device tree overlays are a good way to deal with user-modifyable boards or boards with some kind of an expansion mechanism where we can easily plug new board in (like the BBB or the raspberry pi).
However, so far, the usual mechanism to deal with it was to have in Linux some driver detecting the expansion boards plugged in and then request these overlays using the firmware interface.
That works in most cases, but in some cases, you might want to have the overlays applied before the userspace comes in. Either because the new board requires some kind of an early initialization, or because your root filesystem is accessed through that expansion board.
The easiest solution in such a case is to simply have the component before Linux applying that overlay, removing all these drawbacks.
Signed-off-by: Maxime Ripard maxime.ripard@free-electrons.com
cmd/Makefile | 2 +- cmd/fdt.c | 19 +++ cmd/fdt_overlay.c | 464 ++++++++++++++++++++++++++++++++++++++++++++++++++ include/fdt_support.h | 2 +- 4 files changed, 485 insertions(+), 2 deletions(-) create mode 100644 cmd/fdt_overlay.c
I'm happy to take this into the U-Boot tree while you try to get it applied upstream, but please confirm that you will do this and by when. I suggest you sent an email referring to this patch.
Also fdt_overlay.c should go in lib/libfdt/. If this functionality is rejected for libfdt (as was fdtgrep) then we'll move it to lib/.
I'm definitely ok to send it to libfdt if that's what you meant by upstream. I'll push it at the same time I'm pushing the next version of these patches, just to make sure we progress as fast as we can on this.
Finally, please take a look at adding a test for this, with some sample files. See test/py.
However, that will be a bit difficult. In order to be used, the DT overlays require the overlay support in dtc, which is still not included upstream. So the majority of the users of U-Boot won't have that support, meaning that these tests will likely fail for them (even though the code might be correct), resulting in a lot of false negative.
How do you want me to proceed?
Thanks! Maxime