1
2
3
4
5
6
7#include <common.h>
8#include <dm/util.h>
9#include <libfdt.h>
10#include <vsprintf.h>
11
12#ifdef CONFIG_DM_WARN
13void dm_warn(const char *fmt, ...)
14{
15 va_list args;
16
17 va_start(args, fmt);
18 vprintf(fmt, args);
19 va_end(args);
20}
21#endif
22
23int list_count_items(struct list_head *head)
24{
25 struct list_head *node;
26 int count = 0;
27
28 list_for_each(node, head)
29 count++;
30
31 return count;
32}
33
34bool dm_fdt_pre_reloc(const void *blob, int offset)
35{
36 if (fdt_getprop(blob, offset, "u-boot,dm-pre-reloc", NULL))
37 return true;
38
39#ifdef CONFIG_TPL_BUILD
40 if (fdt_getprop(blob, offset, "u-boot,dm-tpl", NULL))
41 return true;
42#elif defined(CONFIG_SPL_BUILD)
43 if (fdt_getprop(blob, offset, "u-boot,dm-spl", NULL))
44 return true;
45#else
46
47
48
49
50 if (fdt_getprop(blob, offset, "u-boot,dm-spl", NULL) ||
51 fdt_getprop(blob, offset, "u-boot,dm-tpl", NULL))
52 return true;
53#endif
54
55 return false;
56}
57