[U-Boot] [PATCH V2 1/3] fdtdec: fix parsing 'reg' property with zero value in '#size-cells'
Simon Glass
sjg at chromium.org
Tue Sep 29 06:47:02 CEST 2015
On 28 September 2015 at 06:17, Przemyslaw Marczak <p.marczak at samsung.com> wrote:
> 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 at 0x100 {
> #address-cells = <1>;
> #size-cells = <0>;
> children at 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.
>
> Signed-off-by: Przemyslaw Marczak <p.marczak at samsung.com>
> Acked-by: Stephen Warren <swarren at nvidia.com>
> ---
> Changes V2:
> - cleanup commit message
> - add acked-by
> ---
> lib/fdtdec.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
I'll pick this series up if no one else is planning to.
Tested on snow
Tested-by: Simon Glass <sjg at chromium.org>
Acked-by: Simon Glass <sjg at chromium.org>
More information about the U-Boot
mailing list