diff mbox series

[U-Boot,29/39] env: Move callback definitions to env.h

Message ID 20190728140357.137295-30-sjg@chromium.org
State Superseded
Delegated to: Tom Rini
Headers show
Series env: common: Remove environment definitions from common.h | expand

Commit Message

Simon Glass July 28, 2019, 2:03 p.m. UTC
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 <sjg@chromium.org>
---

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

Comments

Joe Hershberger July 30, 2019, 9:28 p.m. UTC | #1
On Sun, Jul 28, 2019 at 9:28 AM Simon Glass <sjg@chromium.org> wrote:
>
> 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 <sjg@chromium.org>

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
diff mbox series

Patch

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,