diff options
author | Przemyslaw Marczak <p.marczak@samsung.com> | 2015-09-30 13:14:50 +0200 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-10-03 14:39:19 +0100 |
commit | ff0a6358b674a7791ecd120034f4a30d227d3ec7 (patch) | |
tree | a2adaee907e1d8ded623403f6c11f1666277c780 /common/hash.c | |
parent | d93b9a0709e014557499208e05e2a9c451a5436b (diff) | |
download | u-boot-imx-ff0a6358b674a7791ecd120034f4a30d227d3ec7.zip u-boot-imx-ff0a6358b674a7791ecd120034f4a30d227d3ec7.tar.gz u-boot-imx-ff0a6358b674a7791ecd120034f4a30d227d3ec7.tar.bz2 |
fdtdec: fix parsing 'reg' property with zero value in '#size-cells'
After rework of lib/fdtdec.c by:
commit: 02464e3 fdt: add new fdt address parsing functions
the function fdtdec_get_addr() doesn't work as previous,
because the implementation assumes that properties '#address-cells'
and '#size-cells' are equal to 1, which can be not true sometimes.
The new API introduced fdtdec_get_addr_size_auto_parent() for the 'reg'
property parsing, but the implementation assumes, that #size-cells
can't be less than 1.
This causes that the following children's 'reg' property can't be reached:
parent@0x0 {
#address-cells = <1>;
#size-cells = <0>;
children@0x100 {
reg = < 0x100 >;
};
};
Change the condition value from '1' to '0', which allows parsing property
with at least zero #size-cells, fixes the issue.
Now, fdtdec_get_addr_size_auto_parent() works properly.
Tested on: Odroid U3/X2, Trats, Trats2, Odroid XU3, Snow (by Simon).
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common/hash.c')
0 files changed, 0 insertions, 0 deletions