These definitions are effectively part of the 'public' API of the
environment implementation since they do not require access to any
internal variables. Move them to the env.h header.

Signed-off-by: Simon Glass <s...@chromium.org>
---

 include/env.h          | 34 ++++++++++++++++++++++++++++++++++
 include/env_callback.h | 23 -----------------------
 include/search.h       |  6 ------
 3 files changed, 34 insertions(+), 29 deletions(-)

diff --git a/include/env.h b/include/env.h
index 93a4c3ed6b..3dbdf276cd 100644
--- a/include/env.h
+++ b/include/env.h
@@ -21,6 +21,40 @@ enum env_valid {
        ENV_REDUND,     /* Redundant environment is valid */
 };
 
+/** enum env_op - environment callback operation */
+enum env_op {
+       env_op_create,
+       env_op_delete,
+       env_op_overwrite,
+};
+
+/** struct env_clbk_tbl - declares a new callback */
+struct env_clbk_tbl {
+       const char *name;               /* Callback name */
+       int (*callback)(const char *name, const char *value, enum env_op op,
+                       int flags);
+};
+
+/*
+ * Define a callback that can be associated with variables.
+ * when associated through the ".callbacks" environment variable, the callback
+ * will be executed any time the variable is inserted, overwritten, or deleted.
+ *
+ * For SPL these are silently dropped to reduce code size, since environment
+ * callbacks are not supported with SPL.
+ */
+#ifdef CONFIG_SPL_BUILD
+#define U_BOOT_ENV_CALLBACK(name, callback) \
+       static inline __maybe_unused void _u_boot_env_noop_##name(void) \
+       { \
+               (void)callback; \
+       }
+#else
+#define U_BOOT_ENV_CALLBACK(name, callback) \
+       ll_entry_declare(struct env_clbk_tbl, name, env_clbk) = \
+       {#name, callback}
+#endif
+
 /**
  * env_get_id() - Gets a sequence number for the environment
  *
diff --git a/include/env_callback.h b/include/env_callback.h
index 507a52e13c..3d30a33f5b 100644
--- a/include/env_callback.h
+++ b/include/env_callback.h
@@ -72,29 +72,6 @@
        "serial#:serialno," \
        CONFIG_ENV_CALLBACK_LIST_STATIC
 
-struct env_clbk_tbl {
-       const char *name;               /* Callback name */
-       int (*callback)(const char *name, const char *value, enum env_op op,
-               int flags);
-};
-
 void env_callback_init(ENTRY *var_entry);
 
-/*
- * Define a callback that can be associated with variables.
- * when associated through the ".callbacks" environment variable, the callback
- * will be executed any time the variable is inserted, overwritten, or deleted.
- */
-#ifdef CONFIG_SPL_BUILD
-#define U_BOOT_ENV_CALLBACK(name, callback) \
-       static inline __maybe_unused void _u_boot_env_noop_##name(void) \
-       { \
-               (void)callback; \
-       }
-#else
-#define U_BOOT_ENV_CALLBACK(name, callback) \
-       ll_entry_declare(struct env_clbk_tbl, name, env_clbk) = \
-       {#name, callback}
-#endif
-
 #endif /* __ENV_CALLBACK_H__ */
diff --git a/include/search.h b/include/search.h
index 9750336b5e..f9fb29fdf9 100644
--- a/include/search.h
+++ b/include/search.h
@@ -19,12 +19,6 @@
 
 #define __set_errno(val) do { errno = val; } while (0)
 
-enum env_op {
-       env_op_create,
-       env_op_delete,
-       env_op_overwrite,
-};
-
 /* Action which shall be performed in the call to hsearch.  */
 typedef enum {
        FIND,
-- 
2.22.0.709.g102302147b-goog

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to