]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
libfdt: Update to 1.4.6, switch to using libfdt for overlay support
authorkevans <kevans@FreeBSD.org>
Thu, 18 Jan 2018 04:39:09 +0000 (04:39 +0000)
committerkevans <kevans@FreeBSD.org>
Thu, 18 Jan 2018 04:39:09 +0000 (04:39 +0000)
commit49720cebf377c6db490a24e8f246eb57dcbff003
treeac204ccdeb0a6f6eb5ab7cbae44fa4b455bf913f
parent8ecbcaf33377630fac9e0ce357b2756bc4c9218b
parent43e00a9f5686d02449d59f18f7a719db65d21b49
libfdt: Update to 1.4.6, switch to using libfdt for overlay support

libfdt highlights since 1.4.3:

- fdt_property_placeholder added to create a property without specifying its
value at creation time
- stringlist helper functions added to libfdt
- Improved overlay support
- Various internal cleanup

Also switch stand/fdt over to using libfdt for overlay support with this
update. Our current overlay implementation works only for limited use cases
with overlays generated only by some specific versions of our dtc(1). Swap
it out for the libfdt implementation, which supports any properly generated
overlay being applied to a properly generated base.

This will be followed up fairly soon with an update to dtc(1) in tree to
properly generate overlays.

MFC note: the <stdlib.h> include this update introduces in libfdt_env.h is
apparently not necessary in the context we use this in. It's not immediately
clear to me the motivation for it being introduced, but it came in with
overlay support. I've left it in for the sake of accuracy and because it's
not harmful here on HEAD, but MFC'ing this to stable/11 will require
wrapping the #include in an `#ifndef _STANDALONE` block or else it will
cause build failures.

Tested on: Banana Pi-M3 (ARMv7)
Tested on: Pine64 (aarch64)
Tested on: PowerPC [nwhitehorn]
Reviewed by: manu, nwhitehorn
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D13893
15 files changed:
stand/fdt/Makefile
stand/fdt/fdt_loader_cmd.c
sys/contrib/libfdt/fdt.c
sys/contrib/libfdt/fdt.h
sys/contrib/libfdt/fdt_addresses.c
sys/contrib/libfdt/fdt_empty_tree.c
sys/contrib/libfdt/fdt_overlay.c
sys/contrib/libfdt/fdt_ro.c
sys/contrib/libfdt/fdt_rw.c
sys/contrib/libfdt/fdt_strerror.c
sys/contrib/libfdt/fdt_sw.c
sys/contrib/libfdt/fdt_wip.c
sys/contrib/libfdt/libfdt.h
sys/contrib/libfdt/libfdt_env.h
sys/contrib/libfdt/libfdt_internal.h