]>
Commit | Line | Data |
---|---|---|
83d290c5 | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
6494d708 SG |
2 | /* |
3 | * Copyright (c) 2013 Google, Inc | |
6494d708 SG |
4 | */ |
5 | ||
6 | #ifndef __DM_UTIL_H | |
b1799fcb | 7 | #define __DM_UTIL_H |
6494d708 | 8 | |
a94f468f | 9 | #ifdef CONFIG_DM_WARN |
6494d708 | 10 | void dm_warn(const char *fmt, ...); |
a94f468f SG |
11 | #else |
12 | static inline void dm_warn(const char *fmt, ...) | |
13 | { | |
14 | } | |
15 | #endif | |
6494d708 | 16 | |
6494d708 SG |
17 | struct list_head; |
18 | ||
19 | /** | |
20 | * list_count_items() - Count number of items in a list | |
21 | * | |
22 | * @param head: Head of list | |
23 | * @return number of items, or 0 if empty | |
24 | */ | |
25 | int list_count_items(struct list_head *head); | |
26 | ||
304fbef1 SG |
27 | /* Dump out a tree of all devices */ |
28 | void dm_dump_all(void); | |
29 | ||
30 | /* Dump out a list of uclasses and their devices */ | |
31 | void dm_dump_uclass(void); | |
32 | ||
40b6f2d0 MY |
33 | #ifdef CONFIG_DEBUG_DEVRES |
34 | /* Dump out a list of device resources */ | |
35 | void dm_dump_devres(void); | |
36 | #else | |
37 | static inline void dm_dump_devres(void) | |
38 | { | |
39 | } | |
40 | #endif | |
41 | ||
e601ab1b BM |
42 | /** |
43 | * Check if an of node should be or was bound before relocation. | |
44 | * | |
45 | * Devicetree nodes can be marked as needed to be bound | |
46 | * in the loader stages via special devicetree properties. | |
47 | * | |
48 | * Before relocation this function can be used to check if nodes | |
49 | * are required in either SPL or TPL stages. | |
50 | * | |
51 | * After relocation and jumping into the real U-Boot binary | |
52 | * it is possible to determine if a node was bound in one of | |
53 | * SPL/TPL stages. | |
54 | * | |
54e1223a PD |
55 | * There are 4 settings currently in use |
56 | * - u-boot,dm-pre-proper: U-Boot proper pre-relocation only | |
e601ab1b BM |
57 | * - u-boot,dm-pre-reloc: legacy and indicates any of TPL or SPL |
58 | * Existing platforms only use it to indicate nodes needed in | |
59 | * SPL. Should probably be replaced by u-boot,dm-spl for | |
60 | * existing platforms. | |
54e1223a PD |
61 | * - u-boot,dm-spl: SPL and U-Boot pre-relocation |
62 | * - u-boot,dm-tpl: TPL and U-Boot pre-relocation | |
e601ab1b BM |
63 | * @node: of node |
64 | * | |
65 | * Returns true if node is needed in SPL/TL, false otherwise. | |
66 | */ | |
67 | bool dm_ofnode_pre_reloc(ofnode node); | |
68 | ||
6494d708 | 69 | #endif |