[U-Boot] [PATCH 3/4] lib, fdt: move fdtdec_get_int() out of lib/fdtdec.c

Heiko Schocher hs at denx.de
Mon May 12 09:09:57 CEST 2014


Hello Simon,

Am 09.05.2014 21:59, schrieb Simon Glass:
> Hi Heiko,
>
> On 8 May 2014 05:05, Heiko Schocher<hs at denx.de>  wrote:
>> move fdtdec_get_int() out of lib/fdtdec.c into lib/fdtdec_common.c
>> as this function is also used, if CONFIG_OF_CONTROL is not
>> used. Poped up on the ids8313 board using signed FIT images,
>> and activating CONFIG_SYS_GENERIC_BOARD. Without this patch
>> it shows on boot:
>>
>> No valid FDT found - please append one to U-Boot binary, use u-boot-dtb.bin or define CONFIG_OF_EMBED. For sandbox, use -d<file.dtb>
>>
>> With this patch, it boots again with CONFIG_SYS_GENERIC_BOARD
>> enabled.
>>
>> Signed-off-by: Heiko Schocher<hs at denx.de>
>> Cc: Simon Glass<sjg at chromium.org>
>> Cc: Tom Rini<trini at ti.com>
>
> What is the reason why we can't have a common function? Is it because
> of the s32 type?

I removed the two implementations and used now only:

int fdtdec_get_int(const void *blob, int node, const char *prop_name,
                 int default_val)
{
         const int *cell;
         int len;

         cell = fdt_getprop_w((void *)blob, node, prop_name, &len);
         if (cell && len >= sizeof(int)) {
                 int val = fdt32_to_cpu(cell[0]);

                 return val;
         }
         return default_val;
}

in lib/fdtdec_common.c. I see no compiler error/warnings for the
ids8313 board and the tools for host and target side ... so if this
is OK for you, I can send a v2.

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list