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