u-boot/lib/fdtdec_common.c
Tom Rini 467382ca03 lib: Remove <common.h> inclusion from these files
After some header file cleanups to add missing include files, remove
common.h from all files in the lib directory. This primarily means just
dropping the line but in a few cases we need to add in other header
files now.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-12-21 08:54:37 -05:00

67 lines
1.3 KiB
C

// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (c) 2014
* Heiko Schocher, DENX Software Engineering, hs@denx.de.
*
* Based on lib/fdtdec.c:
* Copyright (c) 2011 The Chromium OS Authors.
*/
#ifndef USE_HOSTCC
#include <log.h>
#include <linux/libfdt.h>
#include <fdtdec.h>
#else
#include "libfdt.h"
#include "fdt_support.h"
#define debug(...)
#endif
int fdtdec_get_int(const void *blob, int node, const char *prop_name,
int default_val)
{
const int *cell;
int len;
debug("%s: %s: ", __func__, prop_name);
cell = fdt_getprop(blob, node, prop_name, &len);
if (cell && len >= sizeof(int)) {
int val = fdt32_to_cpu(cell[0]);
debug("%#x (%d)\n", val, val);
return val;
}
debug("(not found)\n");
return default_val;
}
unsigned int fdtdec_get_uint(const void *blob, int node, const char *prop_name,
unsigned int default_val)
{
const int *cell;
int len;
debug("%s: %s: ", __func__, prop_name);
cell = fdt_getprop(blob, node, prop_name, &len);
if (cell && len >= sizeof(unsigned int)) {
unsigned int val = fdt32_to_cpu(cell[0]);
debug("%#x (%d)\n", val, val);
return val;
}
debug("(not found)\n");
return default_val;
}
int fdtdec_get_child_count(const void *blob, int node)
{
int subnode;
int num = 0;
fdt_for_each_subnode(subnode, blob, node)
num++;
return num;
}