
Hi Dario,
On Sat, 4 Apr 2020 at 06:49, dariobin@libero.it wrote:
Il 2 aprile 2020 alle 20.54 Simon Glass sjg@chromium.org ha scritto:
Hi Dario,
On Wed, 1 Apr 2020 at 13:34, dariobin@libero.it wrote:
Il 31 marzo 2020 alle 1.57 Simon Glass sjg@chromium.org ha scritto:
On Sun, 29 Mar 2020 at 10:05, Dario Binacchi dariobin@libero.it wrote:
Now reading a 32 bit value from a device-tree property can be expressed as reading the first element of an array with a single value.
Signed-off-by: Dario Binacchi dariobin@libero.it
drivers/core/of_access.c | 16 +--------------- drivers/core/ofnode.c | 23 ++--------------------- 2 files changed, 3 insertions(+), 36 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org
Can you please check the code-size delta in SPL on a suitable board?
I have a black beaglebone available (am335x_evm_defconfig).
u-boot-spl.map generated without applying the refactoring patch .... .text.ofnode_read_u32 0x0000000000000000 0x2e drivers/built-in.o .text.ofnode_read_u32_index 0x0000000000000000 0x38 drivers/built-in.o .text.ofnode_read_u32_default 0x0000000000000000 0x12 drivers/built-in.o
u-boot-spl.map genarated with the refactoring patch applied .... .text.ofnode_read_u32_index 0x0000000000000000 0x38 drivers/built-in.o .text.ofnode_read_u32 0x0000000000000000 0x8 drivers/built-in.o .text.ofnode_read_u32_default 0x0000000000000000 0x14 drivers/built-in.o
Possibly, but a better test is to build your branch with the patch in:
buildman -b <branch> <board>
Then check the size:
buildman -b <branch> -sS
or function detail:
buildman -b <branch> -sSB
That will give us a true picture for SPL. It will show incremental size increase with your patch.
Hi Simon, this is the buildman response: ... 03: dm: core: support reading a single indexed u32 value 04: dm: core: refactor functions reading an u32 from dt arm: (for 4/708 boards) all +11.5 bss -10.0 text +21.5 am335x_hs_evm : all +24 text +24 u-boot: add: 1/0, grow: 1/-1 bytes: 64/-38 (26) function old new delta ofnode_read_u32_index - 62 +62 ofnode_read_u32_default 18 20 +2 ofnode_read_u32 46 8 -38 am335x_hs_evm_uart: all +24 text +24 u-boot: add: 1/0, grow: 1/-1 bytes: 64/-38 (26) function old new delta ofnode_read_u32_index - 62 +62 ofnode_read_u32_default 18 20 +2 ofnode_read_u32 46 8 -38 am335x_evm : bss -24 text +24 u-boot: add: 1/0, grow: 1/-1 bytes: 64/-38 (26) function old new delta ofnode_read_u32_index - 62 +62 ofnode_read_u32_default 18 20 +2 ofnode_read_u32 46 8 -38 am335x_boneblack_vboot: all -2 bss -16 text +14 u-boot: add: 1/0, grow: 1/-1 bytes: 64/-38 (26) function old new delta ofnode_read_u32_index - 62 +62 ofnode_read_u32_default 18 20 +2 ofnode_read_u32 46 8 -38
This does not actually look like SPL though, only U-Boot. I hope that means that SPL doesn't increase in size.
Anyway for U-Boot proper it looks like it adds about 24 bytes of code. I think it is worth it.
Regards, Simon
Applied to u-boot-dm/next, thanks!