[U-Boot] [PATCH 1/3] fix: fdtdec: allow parse 'reg' property with zero value in '#size-cells'

Stephen Warren swarren at wwwdotorg.org
Fri Sep 25 17:41:01 CEST 2015


On 09/25/2015 02:35 AM, Przemyslaw Marczak wrote:
> Hello Stephen,
>
> On 09/24/2015 07:14 PM, Stephen Warren wrote:
>> On 09/24/2015 09:29 AM, Przemyslaw Marczak wrote:
>>> After rework of lib/fdtdec.c by commit:
>>>
>>> commit 02464e386bb5f0a022c121f95ae75cf583759d95
>>> Author: Stephen Warren <swarren at nvidia.com>
>>> Date:   Thu Aug 6 15:31:02 2015 -0600
>>
>> That'd usually be abbreviated as:
>>
>> Commit 02464e386bb5 "fdt: add new fdt address parsing functions".
>
> Ok, I will update the commit message.
>
>> Of course, if you want to shame me that's justified too:-) Tracking down
>> regressions sucks:-(
>
> Oh no no... maybe a little :)
>
>>> 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.
>>
>> "are equal to" should be "is at least"; the purpose of that rework was
>> to support values greater than one.
>>
>
> But it describe the fdtdec_get_addr(), which calls
>
> fdtdec_get_addr_size_fixed(...)
>
> and for this call we have:
>
> na = sizeof(fdt_addr_t) / sizeof(fdt32_t) == 1
>
> ns = sizeof(fdt_size_t) / sizeof(fdt32_t) == 1
>
> This is consistent with the description for this function in
> include/fdtdec.h.

Ah yes; I was thinking of the core function 
fdtdec_get_addr_size_fixed(). The description you gave seems correct.


More information about the U-Boot mailing list