[PATCH] dm: core: Inline a few ofnode functions in SPL

Simon Glass sjg at chromium.org
Wed Dec 23 16:42:58 CET 2020


A recent change to unify the flattree/livetree code introduced a small
size increase in SPL on some boards. For example SPL code size for
px30-core-ctouch2-px30 increased by 40 bytes.

To address this we can take advantage of the fact that some of the ofnode
functions are only called a few times in SPL, so it is worth inlining
them.

Add new Kconfig options to control this. These functions are not inlined
for U-Boot proper, since this increases code size.

Fixes: 2ebea5eaebf ("dm: core: Combine the flattree and livetree binding code")
Signed-off-by: Simon Glass <sjg at chromium.org>
---
This series mostly improves code size:

04: dm: core: Inline a few ofnode functions in SPL
       arm:     brppt1_spi brsmarc1
   aarch64: (for 267/267 boards) spl/u-boot-spl:all -8.9
spl/u-boot-spl:text -8.9
       arm: (for 693/693 boards) all +65.1 bss +0.2 data +64.9 rodata
+0.0 spl/u-boot-spl:all -6.6 spl/u-boot-spl:text -6.6 text -0.0
microblaze: (for 1/1 boards) spl/u-boot-spl:all -132.0
spl/u-boot-spl:text -132.0
      mips: (for 44/44 boards) spl/u-boot-spl:all -9.0 spl/u-boot-spl:text -9.0
     riscv: (for 18/18 boards) spl/u-boot-spl:all +17.3
spl/u-boot-spl:text +17.3
       x86: (for 28/28 boards) spl/u-boot-spl:all -6.1
spl/u-boot-spl:text -6.1 tpl/u-boot-tpl:all -1.5 tpl/u-boot-tpl:text
-1.5

For the particular board mentioned with the problem
(px30-core-ctouch2-px30) it erases the size 40-byte increase:
04: dm: core: Inline a few ofnode functions in SPL
   aarch64: (for 1/1 boards) spl/u-boot-spl:all -84.0 spl/u-boot-spl:text -84.0

 drivers/core/Kconfig  | 16 +++++++++++++
 drivers/core/ofnode.c |  2 ++
 include/dm/ofnode.h   | 56 ++++++++++++++++++++++++++++++++++---------
 3 files changed, 63 insertions(+), 11 deletions(-)

Applied to u-boot-dm/next, thanks!


More information about the U-Boot mailing list