]>
Commit | Line | Data |
---|---|---|
6494d708 SG |
1 | /* |
2 | * Copyright (c) 2013 Google, Inc | |
3 | * | |
4 | * (C) Copyright 2012 | |
5 | * Pavel Herrmann <morpheus.ibis@gmail.com> | |
6 | * Marek Vasut <marex@denx.de> | |
7 | * | |
8 | * SPDX-License-Identifier: GPL-2.0+ | |
9 | */ | |
10 | ||
11 | #ifndef _DM_PLATDATA_H | |
12 | #define _DM_PLATDATA_H | |
13 | ||
42c23dd2 MY |
14 | #include <linker_lists.h> |
15 | ||
0040b944 SG |
16 | /** |
17 | * struct driver_info - Information required to instantiate a device | |
18 | * | |
97f3ee34 SG |
19 | * NOTE: Avoid using this except in extreme circumstances, where device tree |
20 | * is not feasible (e.g. serial driver in SPL where <8KB of SRAM is | |
21 | * available). U-Boot's driver model uses device tree for configuration. | |
22 | * | |
81b4e751 | 23 | * @name: Driver name |
0040b944 | 24 | * @platdata: Driver-specific platform data |
9fa28190 | 25 | * @platdata_size: Size of platform data structure |
0040b944 | 26 | */ |
6494d708 | 27 | struct driver_info { |
0040b944 SG |
28 | const char *name; |
29 | const void *platdata; | |
9fa28190 SG |
30 | #if CONFIG_IS_ENABLED(OF_PLATDATA) |
31 | uint platdata_size; | |
32 | #endif | |
6494d708 SG |
33 | }; |
34 | ||
97f3ee34 SG |
35 | /** |
36 | * NOTE: Avoid using these except in extreme circumstances, where device tree | |
37 | * is not feasible (e.g. serial driver in SPL where <8KB of SRAM is | |
38 | * available). U-Boot's driver model uses device tree for configuration. | |
39 | */ | |
6494d708 SG |
40 | #define U_BOOT_DEVICE(__name) \ |
41 | ll_entry_declare(struct driver_info, __name, driver_info) | |
42 | ||
10778398 SG |
43 | /* Declare a list of devices. The argument is a driver_info[] array */ |
44 | #define U_BOOT_DEVICES(__name) \ | |
45 | ll_entry_declare_list(struct driver_info, __name, driver_info) | |
46 | ||
6494d708 | 47 | #endif |