X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=include%2Fdm%2Fplatdata.h;h=b73aa33093aad78ddd67a0e9f9784989a4fccc8b;hb=d167dd4883406ca852b1a2e75db5553279815f62;hp=0ef3353e74651e1e9b60066f43ee90ab9a48a021;hpb=6494d708bfc630ac0585d5a81707442ebf578eac;p=oweals%2Fu-boot.git diff --git a/include/dm/platdata.h b/include/dm/platdata.h index 0ef3353e74..b73aa33093 100644 --- a/include/dm/platdata.h +++ b/include/dm/platdata.h @@ -11,12 +11,37 @@ #ifndef _DM_PLATDATA_H #define _DM_PLATDATA_H +#include + +/** + * struct driver_info - Information required to instantiate a device + * + * NOTE: Avoid using this except in extreme circumstances, where device tree + * is not feasible (e.g. serial driver in SPL where <8KB of SRAM is + * available). U-Boot's driver model uses device tree for configuration. + * + * @name: Driver name + * @platdata: Driver-specific platform data + * @platdata_size: Size of platform data structure + */ struct driver_info { - const char *name; - const void *platdata; + const char *name; + const void *platdata; +#if CONFIG_IS_ENABLED(OF_PLATDATA) + uint platdata_size; +#endif }; +/** + * NOTE: Avoid using these except in extreme circumstances, where device tree + * is not feasible (e.g. serial driver in SPL where <8KB of SRAM is + * available). U-Boot's driver model uses device tree for configuration. + */ #define U_BOOT_DEVICE(__name) \ ll_entry_declare(struct driver_info, __name, driver_info) +/* Declare a list of devices. The argument is a driver_info[] array */ +#define U_BOOT_DEVICES(__name) \ + ll_entry_declare_list(struct driver_info, __name, driver_info) + #endif