
On Sat, Jan 11, 2020 at 1:39 AM Tom Rini trini@konsulko.com wrote:
On Wed, Jan 08, 2020 at 10:38:32PM +0100, Anatolij Gustschin wrote:
This can be used for device tree size reduction similar as CONFIG_OF_SPL_REMOVE_PROPS option. For tbs2910 board this shrinks the image size: all -2304.0 bss -16.0 text -2288.0
Signed-off-by: Anatolij Gustschin agust@denx.de
dts/Kconfig | 8 ++++++++ scripts/Makefile.lib | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/dts/Kconfig b/dts/Kconfig index 64c98dd723..49224bee93 100644 --- a/dts/Kconfig +++ b/dts/Kconfig @@ -311,6 +311,14 @@ config OF_SPL_REMOVE_PROPS can be discarded. This option defines the list of properties to discard.
+config OF_REMOVE_PROPS
string "List of device tree properties to drop"
depends on OF_CONTROL
default "interrupt-parent interrupts" if PINCTRL
help
Some properties are not used by U-Boot and can be discarded.
This option defines the list of properties to discard.
config SPL_OF_PLATDATA bool "Generate platform data for use in SPL" depends on SPL_OF_CONTROL diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 4ea898a421..3b124369ad 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -235,7 +235,8 @@ $(obj)/%.tab.h: $(src)/%.y FORCE # ===========================================================================
quiet_cmd_shipped = SHIPPED $@ -cmd_shipped = cat $< > $@ +cmd_shipped = cat $< | $(objtree)/tools/fdtgrep -r -O dtb - -o $@ \
$(addprefix -P ,$(subst $\",,$(CONFIG_OF_REMOVE_PROPS)))
$(obj)/%: $(src)/%_shipped $(call cmd,shipped)
On further thinking, this will make it harder in the case of passing the DTB directly to the kernel. We should guard this option by something else first.
-- Tom
More importantly, this patch breaks targets that compile pylibfdt, for example, qemu-x86_defconfig.
$ make qemu-x86_defconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o YACC scripts/kconfig/zconf.tab.c LEX scripts/kconfig/zconf.lex.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf # # configuration written to .config # masahiro@grover:~/ref/u-boot$ make scripts/kconfig/conf --syncconfig Kconfig CHK include/config.h UPD include/config.h CFG u-boot.cfg GEN include/autoconf.mk GEN include/autoconf.mk.dep CHK include/config/uboot.release UPD include/config/uboot.release CHK include/generated/version_autogenerated.h UPD include/generated/version_autogenerated.h CHK include/generated/timestamp_autogenerated.h UPD include/generated/timestamp_autogenerated.h CC lib/asm-offsets.s CHK include/generated/generic-asm-offsets.h UPD include/generated/generic-asm-offsets.h CC arch/x86/lib/asm-offsets.s CHK include/generated/asm-offsets.h UPD include/generated/asm-offsets.h SHIPPED scripts/dtc/pylibfdt/libfdt.i /bin/sh: 1: ./tools/fdtgrep: not found make[3]: *** [scripts/Makefile.lib:242: scripts/dtc/pylibfdt/libfdt.i] Error 127 make[2]: *** [scripts/Makefile.build:432: scripts/dtc/pylibfdt] Error 2 make[1]: *** [scripts/Makefile.build:432: scripts/dtc] Error 2 make: *** [Makefile:551: scripts] Error 2
Please do not touch cmd_shipped.
If this feature is desired, please implement it in dts/Makefile.