]> git.sur5r.net Git - u-boot/blob - drivers/core/util.c
Merge branch 'master' of git://git.denx.de/u-boot-tegra
[u-boot] / drivers / core / util.c
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Copyright (c) 2013 Google, Inc
4  */
5
6 #include <common.h>
7 #include <dm/util.h>
8 #include <linux/libfdt.h>
9 #include <vsprintf.h>
10
11 #ifdef CONFIG_DM_WARN
12 void dm_warn(const char *fmt, ...)
13 {
14         va_list args;
15
16         va_start(args, fmt);
17         vprintf(fmt, args);
18         va_end(args);
19 }
20 #endif
21
22 int list_count_items(struct list_head *head)
23 {
24         struct list_head *node;
25         int count = 0;
26
27         list_for_each(node, head)
28                 count++;
29
30         return count;
31 }
32
33 bool dm_fdt_pre_reloc(const void *blob, int offset)
34 {
35         if (fdt_getprop(blob, offset, "u-boot,dm-pre-reloc", NULL))
36                 return true;
37
38 #ifdef CONFIG_TPL_BUILD
39         if (fdt_getprop(blob, offset, "u-boot,dm-tpl", NULL))
40                 return true;
41 #elif defined(CONFIG_SPL_BUILD)
42         if (fdt_getprop(blob, offset, "u-boot,dm-spl", NULL))
43                 return true;
44 #else
45         /*
46          * In regular builds individual spl and tpl handling both
47          * count as handled pre-relocation for later second init.
48          */
49         if (fdt_getprop(blob, offset, "u-boot,dm-spl", NULL) ||
50             fdt_getprop(blob, offset, "u-boot,dm-tpl", NULL))
51                 return true;
52 #endif
53
54         return false;
55 }