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

Heiko Schocher hs at denx.de
Thu May 15 07:53:11 CEST 2014


Hello Simon,

Am 15.05.2014 03:49, schrieb Simon Glass:
> Hi Heiko,
>
> On 14 May 2014 04:54, 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>
>> Cc: Michael Conrad<Michael.Conrad at ids.de>
>>
>> ---
>> - changes for v2:
>>    - remove fdtdec_get_int() in lib/fdtdec.c
>>    - only one fdtdec_get_int() implementation
>>       Tested on the ids8313 board (on host and target side)
>> ---
>>   lib/Makefile        |  1 +
>>   lib/fdtdec.c        | 36 ------------------------------------
>>   lib/fdtdec_common.c | 33 +++++++++++++++++++++++++++++++++
>>   tools/fdtdec.c      |  1 +
>>   4 files changed, 35 insertions(+), 36 deletions(-)
>>   create mode 100644 lib/fdtdec_common.c
>>
[...]
>> diff --git a/lib/fdtdec_common.c b/lib/fdtdec_common.c
>> new file mode 100644
>> index 0000000..c03016c
>> --- /dev/null
>> +++ b/lib/fdtdec_common.c
>> @@ -0,0 +1,33 @@
>> +/*
>> + * Copyright (c) 2014
>> + * Heiko Schocher, DENX Software Engineering, hs at denx.de.
>> + *
>> + * Based on lib/fdtdec.c:
>> + * Copyright (c) 2011 The Chromium OS Authors.
>> + *
>> + * SPDX-License-Identifier:    GPL-2.0+
>> + */
>> +
>> +#ifndef USE_HOSTCC
>> +#include<common.h>
>> +#include<libfdt.h>
>> +#include<fdtdec.h>
>> +#else
>> +#include "libfdt.h"
>> +#include "fdt_support.h"
>> +#endif
>> +
>> +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);
>
> Is it possible to use fdt_getprop() here and avoid the cast?

Yes, of course, good Tip!

Add this in v3, thanks!

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