env: make file-scope env_ptr variables static
authorRasmus Villemoes <rasmus.villemoes@prevas.dk>
Tue, 18 Feb 2020 08:54:09 +0000 (08:54 +0000)
committerTom Rini <trini@konsulko.com>
Fri, 17 Apr 2020 16:29:43 +0000 (12:29 -0400)
The combination ENV_IS_IN_NVRAM=y, ENV_IS_IN_REMOTE=y fails to build:

env/remote.o:/mnt/ext4/devel/u-boot/env/remote.c:17: multiple definition of `env_ptr'
env/nvram.o:/mnt/ext4/devel/u-boot/env/nvram.c:41: first defined here

It's not necessarily a meaningful combination, but for build-testing
it's nice to be able to enable most ENV_IS_IN_* at the same time, and
since these env_ptr are not declared anywhere, they really have no
reason to have external linkage.

nand.c and flash.c similarly already define file-scope static env_ptr
variables.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
env/nvram.c
env/remote.c

index a78db21623637299d7a9b6deea59779046b444f6..1a9fcf1c069ad110b21884b5040745c4caa1d717 100644 (file)
@@ -38,7 +38,7 @@ DECLARE_GLOBAL_DATA_PTR;
 extern void *nvram_read(void *dest, const long src, size_t count);
 extern void nvram_write(long dest, const void *src, size_t count);
 #else
-env_t *env_ptr = (env_t *)CONFIG_ENV_ADDR;
+static env_t *env_ptr = (env_t *)CONFIG_ENV_ADDR;
 #endif
 
 #ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE
index 50d77b8dfe0e552f6616c33a55fc4b665a5fca36..e3f0608b16beb02785f6e649c19001005e1e9430 100644 (file)
@@ -12,9 +12,9 @@
 #include <u-boot/crc.h>
 
 #ifdef ENV_IS_EMBEDDED
-env_t *env_ptr = &environment;
+static env_t *env_ptr = &environment;
 #else /* ! ENV_IS_EMBEDDED */
-env_t *env_ptr = (env_t *)CONFIG_ENV_ADDR;
+static env_t *env_ptr = (env_t *)CONFIG_ENV_ADDR;
 #endif /* ENV_IS_EMBEDDED */
 
 DECLARE_GLOBAL_DATA_PTR;