summaryrefslogtreecommitdiff
path: root/include/spl.h
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2016-11-30 15:30:50 -0700
committerTom Rini <trini@konsulko.com>2016-12-09 08:40:13 -0500
commitebc4ef61d76fc182773fe225151adc9b913c62eb (patch)
tree56b8c71c9693fc86b749dc3a772a2711e8cf6a3a /include/spl.h
parent0d3b05913140353f8116781dcb82ba9c09ff0bfe (diff)
spl: Add a name to the SPL load-image methods
It is useful to name each method so that we can print out this name when using the method. Currently this happens using a separate function. In preparation for unifying this, add a name to each method. The name is only available if we have libcommon support (i.e can use printf()). Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/spl.h')
-rw-r--r--include/spl.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/include/spl.h b/include/spl.h
index 9d221c1b55..6e746b2046 100644
--- a/include/spl.h
+++ b/include/spl.h
@@ -152,10 +152,14 @@ struct spl_boot_device {
/**
* Holds information about a way of loading an SPL image
*
+ * @name: User-friendly name for this method (e.g. "MMC")
* @boot_device: Boot device that this loader supports
* @load_image: Function to call to load image
*/
struct spl_image_loader {
+#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
+ const char *name;
+#endif
uint boot_device;
/**
* load_image() - Load an SPL image
@@ -177,11 +181,20 @@ struct spl_image_loader {
* _boot_device is the BOOT_DEVICE_... value
* _method is the load_image function to call
*/
-#define SPL_LOAD_IMAGE_METHOD(_priority, _boot_device, _method) \
+#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
+#define SPL_LOAD_IMAGE_METHOD(_name, _priority, _boot_device, _method) \
SPL_LOAD_IMAGE(_method ## _priority ## _boot_device) = { \
+ .name = _name, \
.boot_device = _boot_device, \
.load_image = _method, \
}
+#else
+#define SPL_LOAD_IMAGE_METHOD(_name, _priority, _boot_device, _method) \
+ SPL_LOAD_IMAGE(_method ## _priority ## _boot_device) = { \
+ .boot_device = _boot_device, \
+ .load_image = _method, \
+ }
+#endif
/* SPL FAT image functions */
int spl_load_image_fat(struct spl_image_info *spl_image,