[U-Boot] [PATCH v2 13/15] env: Mark env_get_location as weak

Maxime Ripard maxime.ripard at free-electrons.com
Tue Jan 16 09:16:49 UTC 2018


Allow boards and architectures to override the default environment lookup
code by overriding env_get_location.

Reviewed-by: Andre Przywara <andre.przywara at arm.com>
Reviewed-by: Lukasz Majewski <lukma at denx.de>
Signed-off-by: Maxime Ripard <maxime.ripard at free-electrons.com>
---
 env/env.c | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/env/env.c b/env/env.c
index 75da2b921804..6d0ab8ebe1a4 100644
--- a/env/env.c
+++ b/env/env.c
@@ -79,7 +79,25 @@ static void env_set_inited(enum env_location location)
 
 static enum env_location env_load_location;
 
-static enum env_location env_get_location(enum env_operation op, int prio)
+/**
+ * env_get_location() - Returns the best env location for a board
+ * @op: operations performed on the environment
+ * @prio: priority between the multiple environments, 0 being the
+ *        highest priority
+ *
+ * This will return the preferred environment for the given
+ * priority. This is overridable by boards if they need to.
+ *
+ * All implementations are free to use the operation, the priority and
+ * any other data relevant to their choice, but must take into account
+ * the fact that the lowest prority (0) is the most important location
+ * in the system. The following locations should be returned by order
+ * of descending priorities, from the highest to the lowest priority.
+ *
+ * Returns:
+ * an enum env_location value on success, a negative error code otherwise
+ */
+__weak enum env_location env_get_location(enum env_operation op, int prio)
 {
 	switch (op) {
 	case ENVOP_GET_CHAR:
-- 
git-series 0.9.1


More information about the U-Boot mailing list