[U-Boot] [PATCH] Global Data: Flagify have_console and env_valid

Signed-off-by: Graeme Russ graeme.russ@gmail.com --- arch/arm/include/asm/global_data.h | 5 ++- arch/avr32/include/asm/global_data.h | 5 ++- arch/blackfin/include/asm/global_data.h | 5 ++- arch/blackfin/lib/board.c | 2 - arch/m68k/include/asm/global_data.h | 5 ++- arch/microblaze/include/asm/global_data.h | 5 ++- arch/mips/include/asm/global_data.h | 5 ++- arch/nios2/include/asm/global_data.h | 5 ++- arch/powerpc/cpu/mpc5xxx/i2c.c | 20 ++++++------ arch/powerpc/cpu/mpc8xx/i2c.c | 12 ++++---- arch/powerpc/include/asm/global_data.h | 5 ++- arch/sh/include/asm/global_data.h | 5 ++- arch/sparc/include/asm/global_data.h | 5 ++- arch/x86/include/asm/global_data.h | 36 +++++++++++----------- board/edb93xx/edb93xx.c | 2 +- board/matrix_vision/common/mv_common.c | 2 +- board/zeus/zeus.c | 2 +- common/console.c | 4 +- common/env_common.c | 6 ++-- common/env_dataflash.c | 6 ++-- common/env_eeprom.c | 36 +++++++++++----------- common/env_flash.c | 26 ++++++++-------- common/env_mgdisk.c | 2 +- common/env_mmc.c | 2 +- common/env_nand.c | 45 +++++++++++++++------------- common/env_nowhere.c | 2 +- common/env_nvram.c | 4 +- common/env_onenand.c | 4 +- common/env_sf.c | 31 +++++++++++-------- drivers/i2c/ppc4xx_i2c.c | 2 +- drivers/i2c/soft_i2c.c | 6 ++-- include/environment.h | 18 +++++++++++ 32 files changed, 177 insertions(+), 143 deletions(-)
diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h index 4fc51fd..b190aa1 100644 --- a/arch/arm/include/asm/global_data.h +++ b/arch/arm/include/asm/global_data.h @@ -37,9 +37,7 @@ typedef struct global_data { bd_t *bd; unsigned long flags; unsigned long baudrate; - unsigned long have_console; /* serial_init() was called */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ unsigned long fb_base; /* base address of frame buffer */ #ifdef CONFIG_FSL_ESDHC unsigned long sdhc_clk; @@ -88,6 +86,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r8")
diff --git a/arch/avr32/include/asm/global_data.h b/arch/avr32/include/asm/global_data.h index 4ef8fc5..010b358 100644 --- a/arch/avr32/include/asm/global_data.h +++ b/arch/avr32/include/asm/global_data.h @@ -37,10 +37,8 @@ typedef struct global_data { unsigned long flags; unsigned long baudrate; unsigned long stack_end; /* highest stack address */ - unsigned long have_console; /* serial_init() was called */ unsigned long reloc_off; /* Relocation Offset */ unsigned long env_addr; /* Address of env struct */ - unsigned long env_valid; /* Checksum of env valid? */ unsigned long cpu_hz; /* cpu core clock frequency */ #if defined(CONFIG_LCD) void *fb_base; /* framebuffer address */ @@ -60,6 +58,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#define DECLARE_GLOBAL_DATA_PTR register gd_t *gd asm("r5")
diff --git a/arch/blackfin/include/asm/global_data.h b/arch/blackfin/include/asm/global_data.h index eba5e93..73dbeed 100644 --- a/arch/blackfin/include/asm/global_data.h +++ b/arch/blackfin/include/asm/global_data.h @@ -44,10 +44,8 @@ typedef struct global_data { unsigned long flags; unsigned long board_type; unsigned long baudrate; - unsigned long have_console; /* serial_init() was called */ phys_size_t ram_size; /* RAM size */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER) unsigned long post_log_word; /* Record POST activities */ unsigned long post_init_f_time; /* When post_init_f started */ @@ -68,6 +66,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#define DECLARE_GLOBAL_DATA_PTR register gd_t * volatile gd asm ("P3")
diff --git a/arch/blackfin/lib/board.c b/arch/blackfin/lib/board.c index bfdb586..d388516 100644 --- a/arch/blackfin/lib/board.c +++ b/arch/blackfin/lib/board.c @@ -83,10 +83,8 @@ static void display_global_data(void) printf(" |-flags: %lx\n", gd->flags); printf(" |-board_type: %lx\n", gd->board_type); printf(" |-baudrate: %lu\n", gd->baudrate); - printf(" |-have_console: %lx\n", gd->have_console); printf(" |-ram_size: %lx\n", gd->ram_size); printf(" |-env_addr: %lx\n", gd->env_addr); - printf(" |-env_valid: %lx\n", gd->env_valid); printf(" |-jt(%p): %p\n", gd->jt, *(gd->jt)); printf(" \-bd: %p\n", gd->bd); printf(" |-bi_baudrate: %x\n", bd->bi_baudrate); diff --git a/arch/m68k/include/asm/global_data.h b/arch/m68k/include/asm/global_data.h index fc486fd..b95e810 100644 --- a/arch/m68k/include/asm/global_data.h +++ b/arch/m68k/include/asm/global_data.h @@ -55,8 +55,6 @@ typedef struct global_data { unsigned long reloc_off; /* Relocation Offset */ unsigned long reset_status; /* reset status register at boot */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ - unsigned long have_console; /* serial_init() was called */ #if defined(CONFIG_LCD) || defined(CONFIG_VIDEO) unsigned long fb_base; /* Base addr of framebuffer memory */ #endif @@ -78,6 +76,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#if 0 extern gd_t *global_data; diff --git a/arch/microblaze/include/asm/global_data.h b/arch/microblaze/include/asm/global_data.h index 557ad27..b37f934 100644 --- a/arch/microblaze/include/asm/global_data.h +++ b/arch/microblaze/include/asm/global_data.h @@ -38,9 +38,7 @@ typedef struct global_data { bd_t *bd; unsigned long flags; unsigned long baudrate; - unsigned long have_console; /* serial_init() was called */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ unsigned long fb_base; /* base address of frame buffer */ void **jt; /* jump table */ char env_buf[32]; /* buffer for getenv() before reloc. */ @@ -57,6 +55,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r31")
diff --git a/arch/mips/include/asm/global_data.h b/arch/mips/include/asm/global_data.h index 271a290..a3a5f75 100644 --- a/arch/mips/include/asm/global_data.h +++ b/arch/mips/include/asm/global_data.h @@ -40,11 +40,9 @@ typedef struct global_data { bd_t *bd; unsigned long flags; unsigned long baudrate; - unsigned long have_console; /* serial_init() was called */ phys_size_t ram_size; /* RAM size */ unsigned long reloc_off; /* Relocation Offset */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ void **jt; /* jump table */ char env_buf[32]; /* buffer for getenv() before reloc. */ } gd_t; @@ -60,6 +58,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("k0")
diff --git a/arch/nios2/include/asm/global_data.h b/arch/nios2/include/asm/global_data.h index 2c4a719..a3d1801 100644 --- a/arch/nios2/include/asm/global_data.h +++ b/arch/nios2/include/asm/global_data.h @@ -28,10 +28,8 @@ typedef struct global_data { unsigned long flags; unsigned long baudrate; unsigned long cpu_clk; /* CPU clock in Hz! */ - unsigned long have_console; /* serial_init() was called */ phys_size_t ram_size; /* RAM size */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid */ #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER) unsigned long post_log_word; /* Record POST activities */ unsigned long post_init_f_time; /* When post_init_f started */ @@ -49,6 +47,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#define DECLARE_GLOBAL_DATA_PTR register gd_t *gd asm ("gp")
diff --git a/arch/powerpc/cpu/mpc5xxx/i2c.c b/arch/powerpc/cpu/mpc5xxx/i2c.c index 9fb330f..2ae8121 100644 --- a/arch/powerpc/cpu/mpc5xxx/i2c.c +++ b/arch/powerpc/cpu/mpc5xxx/i2c.c @@ -332,7 +332,7 @@ static int mpc_get_fdr(int speed) if (gd->flags & GD_FLG_RELOC) { fdr = divider; } else { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("%ld kHz, ", best_speed / 1000); return divider; } @@ -374,33 +374,33 @@ int i2c_read(uchar chip, uint addr, int alen, uchar *buf, int len) xaddr[3] = addr & 0xFF;
if (wait_for_bb()) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_read: bus is busy\n"); goto Done; }
mpc_reg_out(®s->mcr, I2C_STA, I2C_STA); if (do_address(chip, 0)) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_read: failed to address chip\n"); goto Done; }
if (send_bytes(chip, &xaddr[4-alen], alen)) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_read: send_bytes failed\n"); goto Done; }
mpc_reg_out(®s->mcr, I2C_RSTA, I2C_RSTA); if (do_address(chip, 1)) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_read: failed to address chip\n"); goto Done; }
if (receive_bytes(chip, (char *)buf, len)) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_read: receive_bytes failed\n"); goto Done; } @@ -423,26 +423,26 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buf, int len) xaddr[3] = addr & 0xFF;
if (wait_for_bb()) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_write: bus is busy\n"); goto Done; }
mpc_reg_out(®s->mcr, I2C_STA, I2C_STA); if (do_address(chip, 0)) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_write: failed to address chip\n"); goto Done; }
if (send_bytes(chip, &xaddr[4-alen], alen)) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_write: send_bytes failed\n"); goto Done; }
if (send_bytes(chip, (char *)buf, len)) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_write: send_bytes failed\n"); goto Done; } diff --git a/arch/powerpc/cpu/mpc8xx/i2c.c b/arch/powerpc/cpu/mpc8xx/i2c.c index 338caba..e33d1a0 100644 --- a/arch/powerpc/cpu/mpc8xx/i2c.c +++ b/arch/powerpc/cpu/mpc8xx/i2c.c @@ -633,21 +633,21 @@ int i2c_read(uchar chip, uint addr, int alen, uchar *buffer, int len)
rc = i2c_send(&state, chip, 0, I2CF_START_COND, alen, &xaddr[4-alen]); if (rc != 0) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_read: i2c_send failed (%d)\n", rc); return 1; }
rc = i2c_receive(&state, chip, 0, I2CF_STOP_COND, len, buffer); if (rc != 0) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_read: i2c_receive failed (%d)\n", rc); return 1; }
rc = i2c_doio(&state); if (rc != 0) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_read: i2c_doio failed (%d)\n", rc); return 1; } @@ -683,21 +683,21 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)
rc = i2c_send(&state, chip, 0, I2CF_START_COND, alen, &xaddr[4-alen]); if (rc != 0) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_write: first i2c_send failed (%d)\n", rc); return 1; }
rc = i2c_send(&state, 0, 0, I2CF_STOP_COND, len, buffer); if (rc != 0) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_write: second i2c_send failed (%d)\n", rc); return 1; }
rc = i2c_doio(&state); if (rc != 0) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_write: i2c_doio failed (%d)\n", rc); return 1; } diff --git a/arch/powerpc/include/asm/global_data.h b/arch/powerpc/include/asm/global_data.h index a33ca2f..5a73a24 100644 --- a/arch/powerpc/include/asm/global_data.h +++ b/arch/powerpc/include/asm/global_data.h @@ -136,8 +136,6 @@ typedef struct global_data { unsigned long arbiter_event_address; #endif unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ - unsigned long have_console; /* serial_init() was called */ #if defined(CONFIG_SYS_ALLOC_DPRAM) || defined(CONFIG_CPM2) unsigned int dp_alloc_base; unsigned int dp_alloc_top; @@ -193,6 +191,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#if 1 #define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r2") diff --git a/arch/sh/include/asm/global_data.h b/arch/sh/include/asm/global_data.h index 0c09ba9..d27d21e 100644 --- a/arch/sh/include/asm/global_data.h +++ b/arch/sh/include/asm/global_data.h @@ -33,10 +33,8 @@ typedef struct global_data unsigned long flags; unsigned long baudrate; unsigned long cpu_clk; /* CPU clock in Hz! */ - unsigned long have_console; /* serial_init() was called */ phys_size_t ram_size; /* RAM size */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid */ void **jt; /* Standalone app jump table */ char env_buf[32]; /* buffer for getenv() before reloc. */ } gd_t; @@ -49,6 +47,9 @@ typedef struct global_data #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#define DECLARE_GLOBAL_DATA_PTR register gd_t *gd asm ("r13")
diff --git a/arch/sparc/include/asm/global_data.h b/arch/sparc/include/asm/global_data.h index 9b14674..08984f8 100644 --- a/arch/sparc/include/asm/global_data.h +++ b/arch/sparc/include/asm/global_data.h @@ -50,8 +50,6 @@ typedef struct global_data { unsigned long reloc_off; /* Relocation Offset */ unsigned long reset_status; /* reset status register at boot */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ - unsigned long have_console; /* serial_init() was called */
#if defined(CONFIG_LCD) || defined(CONFIG_VIDEO) unsigned long fb_base; /* Base address of framebuffer memory */ @@ -85,6 +83,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("%g7")
diff --git a/arch/x86/include/asm/global_data.h b/arch/x86/include/asm/global_data.h index f8a16d6..2902e61 100644 --- a/arch/x86/include/asm/global_data.h +++ b/arch/x86/include/asm/global_data.h @@ -39,11 +39,9 @@ typedef struct global_data { bd_t *bd; unsigned long flags; unsigned long baudrate; - unsigned long have_console; /* serial_init() was called */ unsigned long reloc_off; /* Relocation Offset */ unsigned long load_off; /* Load Offset */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ unsigned long cpu_clk; /* CPU clock in Hz! */ unsigned long bus_clk; unsigned long relocaddr; /* Start address of U-Boot in RAM */ @@ -59,23 +57,21 @@ extern gd_t *gd; #endif
/* Word Offsets into Global Data - MUST match struct gd_t */ -#define GD_BD 0 -#define GD_FLAGS 1 -#define GD_BAUDRATE 2 -#define GD_HAVE_CONSOLE 3 -#define GD_RELOC_OFF 4 -#define GD_LOAD_OFF 5 -#define GD_ENV_ADDR 6 -#define GD_ENV_VALID 7 -#define GD_CPU_CLK 8 -#define GD_BUS_CLK 9 -#define GD_RELOC_ADDR 10 -#define GD_START_ADDR_SP 11 -#define GD_RAM_SIZE 12 -#define GD_RESET_STATUS 13 -#define GD_JT 14 +#define GD_BD 0 +#define GD_FLAGS 1 +#define GD_BAUDRATE 2 +#define GD_RELOC_OFF 3 +#define GD_LOAD_OFF 4 +#define GD_ENV_ADDR 5 +#define GD_CPU_CLK 6 +#define GD_BUS_CLK 7 +#define GD_RELOC_ADDR 8 +#define GD_START_ADDR_SP 9 +#define GD_RAM_SIZE 10 +#define GD_RESET_STATUS 11 +#define GD_JT 12
-#define GD_SIZE 15 +#define GD_SIZE 13
/* * Global Data Flags @@ -90,6 +86,10 @@ extern gd_t *gd; #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ #define GD_FLG_COLD_BOOT 0x00100 /* Cold Boot */ #define GD_FLG_WARM_BOOT 0x00200 /* Warm Boot */ +#define GD_FLG_HAVE_CONSOLE 0x00400 /* Warm Boot */ +#define GD_FLG_PRI_ENV_VALID 0x00800 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x01000 /* Redundant environment valid */ +
#if 0 #define DECLARE_GLOBAL_DATA_PTR diff --git a/board/edb93xx/edb93xx.c b/board/edb93xx/edb93xx.c index dde30ff..80dfec7 100644 --- a/board/edb93xx/edb93xx.c +++ b/board/edb93xx/edb93xx.c @@ -77,7 +77,7 @@ int board_init(void) gd->bd->bi_boot_params = LINUX_BOOT_PARAM_ADDR;
/* We have a console */ - gd->have_console = 1; + gd->flags &= GD_FLG_HAVE_CONSOLE;
return 0; } diff --git a/board/matrix_vision/common/mv_common.c b/board/matrix_vision/common/mv_common.c index 404c8b4..cadbe0b 100644 --- a/board/matrix_vision/common/mv_common.c +++ b/board/matrix_vision/common/mv_common.c @@ -56,7 +56,7 @@ void mv_reset_environment(void) } }
- gd->env_valid = 0; + SET_NO_ENV_VALID(); env_relocate();
for (i = 0; i < MV_KEEP_ENTRIES; i++) { diff --git a/board/zeus/zeus.c b/board/zeus/zeus.c index 18cb85f..c877c65 100644 --- a/board/zeus/zeus.c +++ b/board/zeus/zeus.c @@ -224,7 +224,7 @@ static int restore_default(void)
set_default_env("");
- gd->env_valid = 1; + SET_PRIMARY_ENV_VALID();
/* * Read board specific values from I2C EEPROM diff --git a/common/console.c b/common/console.c index 8c650e0..6b69ecd 100644 --- a/common/console.c +++ b/common/console.c @@ -404,7 +404,7 @@ static int ctrlc_disabled = 0; /* see disable_ctrl() */ static int ctrlc_was_pressed = 0; int ctrlc(void) { - if (!ctrlc_disabled && gd->have_console) { + if (!ctrlc_disabled && (gd->flags & GD_FLG_HAVE_CONSOLE)) { if (tstc()) { switch (getc()) { case 0x03: /* ^C - Control C */ @@ -522,7 +522,7 @@ int console_assign(int file, const char *devname) /* Called before relocation - use serial functions */ int console_init_f(void) { - gd->have_console = 1; + gd->flags &= GD_FLG_HAVE_CONSOLE;
#ifdef CONFIG_SILENT_CONSOLE if (getenv("silent") != NULL) diff --git a/common/env_common.c b/common/env_common.c index 19149b5..aaf7304 100644 --- a/common/env_common.c +++ b/common/env_common.c @@ -136,7 +136,7 @@ static uchar env_get_char_init (int index) uchar c;
/* if crc was bad, use the default environment */ - if (gd->env_valid) + if (gd->flags & (GD_FLG_PRI_ENV_VALID | GD_FLG_RED_ENV_VALID)) c = env_get_char_spec(index); else c = default_environment[index]; @@ -164,7 +164,7 @@ uchar env_get_char (int index)
const uchar *env_get_addr (int index) { - if (gd->env_valid) + if (gd->flags & (GD_FLG_PRI_ENV_VALID | GD_FLG_RED_ENV_VALID)) return (uchar *)(gd->env_addr + index); else return &default_environment[index]; @@ -234,7 +234,7 @@ void env_relocate (void)
env_reloc(); #endif - if (gd->env_valid == 0) { + if (!(gd->flags & (GD_FLG_PRI_ENV_VALID | GD_FLG_RED_ENV_VALID))) { #if defined(CONFIG_ENV_IS_NOWHERE) /* Environment not changable */ set_default_env(NULL); #else diff --git a/common/env_dataflash.c b/common/env_dataflash.c index 1d57079..d90ec05 100644 --- a/common/env_dataflash.c +++ b/common/env_dataflash.c @@ -92,7 +92,7 @@ int env_init(void) unsigned off; uchar buf[64];
- if (gd->env_valid) + if (gd->flags & (GD_FLG_PRI_ENV_VALID | GD_FLG_RED_ENV_VALID)) return 0;
AT91F_DataflashInit(); /* prepare for DATAFLASH read/write */ @@ -116,10 +116,10 @@ int env_init(void)
if (crc == new) { gd->env_addr = offsetof(env_t,data); - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else { gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 0; + SET_NO_ENV_VALID(); }
return 0; diff --git a/common/env_eeprom.c b/common/env_eeprom.c index 0a179ad..24b017a 100644 --- a/common/env_eeprom.c +++ b/common/env_eeprom.c @@ -101,7 +101,7 @@ uchar env_get_char_spec (int index) off = CONFIG_ENV_OFFSET;
#ifdef CONFIG_ENV_OFFSET_REDUND - if (gd->env_valid == 2) + if (gd->flags & GD_FLG_RED_ENV_VALID) off = CONFIG_ENV_OFFSET_REDUND; #endif eeprom_bus_read(CONFIG_SYS_DEF_EEPROM_ADDR, @@ -117,7 +117,7 @@ void env_relocate_spec (void) unsigned int off = CONFIG_ENV_OFFSET;
#ifdef CONFIG_ENV_OFFSET_REDUND - if (gd->env_valid == 2) + if (gd->flags & GD_FLG_RED_ENV_VALID) off = CONFIG_ENV_OFFSET_REDUND; #endif eeprom_bus_read(CONFIG_SYS_DEF_EEPROM_ADDR, @@ -151,7 +151,7 @@ int saveenv(void) env_new.crc = crc32(0, env_new.data, ENV_SIZE);
#ifdef CONFIG_ENV_OFFSET_REDUND - if (gd->env_valid == 1) { + if (gd->flags & GD_FLG_PRI_ENV_VALID) { off = CONFIG_ENV_OFFSET_REDUND; off_red = CONFIG_ENV_OFFSET; } @@ -170,10 +170,10 @@ int saveenv(void) off_red + offsetof(env_t,flags), (uchar *)&flag_obsolete, 1); - if (gd->env_valid == 1) - gd->env_valid = 2; + if (gd->flags & GD_FLG_PRI_ENV_VALID) + SET_REDUNDANT_ENV_VALID(); else - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID();
} #endif @@ -233,31 +233,31 @@ int env_init(void)
if (!crc_ok[0] && !crc_ok[1]) { gd->env_addr = 0; - gd->env_valid = 0; + SET_NO_ENV_VALID();
return 0; } else if (crc_ok[0] && !crc_ok[1]) { - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else if (!crc_ok[0] && crc_ok[1]) { - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else { /* both ok - check serial */ if (flags[0] == ACTIVE_FLAG && flags[1] == OBSOLETE_FLAG) - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); else if (flags[0] == OBSOLETE_FLAG && flags[1] == ACTIVE_FLAG) - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); else if (flags[0] == 0xFF && flags[1] == 0) - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); else if(flags[1] == 0xFF && flags[0] == 0) - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); else /* flags are equal - almost impossible */ - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); }
- if (gd->env_valid == 2) + if (gd->flags & GD_FLG_RED_ENV_VALID) gd->env_addr = off_env[1] + offsetof(env_t,data); - else if (gd->env_valid == 1) + else if (gd->flags & GD_FLG_PRI_ENV_VALID) gd->env_addr = off_env[0] + offsetof(env_t,data);
return (0); @@ -292,10 +292,10 @@ int env_init(void)
if (crc == new) { gd->env_addr = offsetof(env_t,data); - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else { gd->env_addr = 0; - gd->env_valid = 0; + SET_NO_ENV_VALID(); }
return (0); diff --git a/common/env_flash.c b/common/env_flash.c index 50ca4ffa..20586e1 100644 --- a/common/env_flash.c +++ b/common/env_flash.c @@ -100,28 +100,28 @@ int env_init(void)
if (crc1_ok && ! crc2_ok) { gd->env_addr = addr1; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else if (! crc1_ok && crc2_ok) { gd->env_addr = addr2; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else if (! crc1_ok && ! crc2_ok) { gd->env_addr = addr_default; - gd->env_valid = 0; + SET_NO_ENV_VALID(); } else if (flag1 == ACTIVE_FLAG && flag2 == OBSOLETE_FLAG) { gd->env_addr = addr1; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else if (flag1 == OBSOLETE_FLAG && flag2 == ACTIVE_FLAG) { gd->env_addr = addr2; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else if (flag1 == flag2) { gd->env_addr = addr1; - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else if (flag1 == 0xFF) { gd->env_addr = addr1; - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else if (flag2 == 0xFF) { gd->env_addr = addr2; - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); }
return 0; @@ -244,12 +244,12 @@ int env_init(void) { if (crc32(0, env_ptr->data, ENV_SIZE) == env_ptr->crc) { gd->env_addr = (ulong)&(env_ptr->data); - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); return(0); }
gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 0; + SET_NO_ENV_VALID(); return 0; }
@@ -351,7 +351,7 @@ void env_relocate_spec(void) flash_addr_new->crc) { char flag = OBSOLETE_FLAG;
- gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); flash_sect_protect(0, (ulong)flash_addr_new, end_addr_new); flash_write(&flag, (ulong)&(flash_addr_new->flags), @@ -363,7 +363,7 @@ void env_relocate_spec(void) (flash_addr->flags & ACTIVE_FLAG) == ACTIVE_FLAG) { char flag = ACTIVE_FLAG;
- gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); flash_sect_protect(0, (ulong)flash_addr, end_addr); flash_write(&flag, (ulong)&(flash_addr->flags), @@ -371,7 +371,7 @@ void env_relocate_spec(void) flash_sect_protect(1, (ulong)flash_addr, end_addr); }
- if (gd->env_valid == 2) + if (gd->flags & GD_FLG_RED_ENV_VALID) puts ("*** Warning - some problems detected " "reading environment; recovered successfully\n\n"); #endif /* CONFIG_ENV_ADDR_REDUND */ diff --git a/common/env_mgdisk.c b/common/env_mgdisk.c index a69923b..0a91317 100644 --- a/common/env_mgdisk.c +++ b/common/env_mgdisk.c @@ -78,7 +78,7 @@ int env_init(void) { /* use default */ gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID();
return 0; } diff --git a/common/env_mmc.c b/common/env_mmc.c index 83f40f4..b69efcb 100644 --- a/common/env_mmc.c +++ b/common/env_mmc.c @@ -73,7 +73,7 @@ int env_init(void) { /* use default */ gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID();
return 0; } diff --git a/common/env_nand.c b/common/env_nand.c index 14446a6..9440a1e 100644 --- a/common/env_nand.c +++ b/common/env_nand.c @@ -108,41 +108,41 @@ int env_init(void)
if (!crc1_ok && !crc2_ok) { gd->env_addr = 0; - gd->env_valid = 0; + SET_NO_ENV_VALID();
return 0; } else if (crc1_ok && !crc2_ok) { - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } #ifdef CONFIG_ENV_OFFSET_REDUND else if (!crc1_ok && crc2_ok) { - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else { /* both ok - check serial */ if(tmp_env1->flags == 255 && tmp_env2->flags == 0) - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); else if(tmp_env2->flags == 255 && tmp_env1->flags == 0) - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); else if(tmp_env1->flags > tmp_env2->flags) - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); else if(tmp_env2->flags > tmp_env1->flags) - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); else /* flags are equal - almost impossible */ - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); }
- if (gd->env_valid == 2) + if (gd->flags & GD_FLG_RED_ENV_VALID) env_ptr = tmp_env2; else #endif - if (gd->env_valid == 1) + if (gd->flags & GD_FLG_PRI_ENV_VALID) env_ptr = tmp_env1;
gd->env_addr = (ulong)env_ptr->data;
#else /* ENV_IS_EMBEDDED || CONFIG_NAND_ENV_DST */ gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); #endif /* ENV_IS_EMBEDDED || CONFIG_NAND_ENV_DST */
return (0); @@ -208,7 +208,7 @@ int saveenv(void) env_new.crc = crc32(0, env_new.data, ENV_SIZE); env_new.flags = ++env_flags; /* increase the serial */
- if(gd->env_valid == 1) { + if(gd->flags & GD_FLG_PRI_ENV_VALID) { puts("Erasing redundant NAND...\n"); nand_erase_options.offset = CONFIG_ENV_OFFSET_REDUND; if (nand_erase_opts(&nand_info[0], &nand_erase_options)) @@ -234,7 +234,10 @@ int saveenv(void)
puts("done\n");
- gd->env_valid = (gd->env_valid == 2 ? 1 : 2); + if (gd->flags & GD_FLG_RED_ENV_VALID) + SET_PRIMARY_ENV_VALID(); + else + SET_REDUNDANT_ENV_VALID();
return ret; } @@ -373,27 +376,27 @@ void env_relocate_spec(void) set_default_env("!bad CRC"); return; } else if (crc1_ok && !crc2_ok) { - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else if (!crc1_ok && crc2_ok) { - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else { /* both ok - check serial */ if (tmp_env1->flags == 255 && tmp_env2->flags == 0) - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); else if (tmp_env2->flags == 255 && tmp_env1->flags == 0) - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); else if (tmp_env1->flags > tmp_env2->flags) - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); else if (tmp_env2->flags > tmp_env1->flags) - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); else /* flags are equal - almost impossible */ - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID();
}
free(env_ptr);
- if (gd->env_valid == 1) + if (gd->flags & GD_FLG_PRI_ENV_VALID) ep = tmp_env1; else ep = tmp_env2; diff --git a/common/env_nowhere.c b/common/env_nowhere.c index 75ef78d..9441575 100644 --- a/common/env_nowhere.c +++ b/common/env_nowhere.c @@ -52,7 +52,7 @@ uchar env_get_char_spec(int index) int env_init(void) { gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 0; + SET_NO_ENV_VALID();
return (0); } diff --git a/common/env_nvram.c b/common/env_nvram.c index 544ce47..78ea38b 100644 --- a/common/env_nvram.c +++ b/common/env_nvram.c @@ -131,10 +131,10 @@ int env_init(void) if (crc32(0, env_ptr->data, ENV_SIZE) == env_ptr->crc) { gd->env_addr = (ulong)&(env_ptr->data); #endif - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else { gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 0; + SET_NO_ENV_VALID(); } return (0); } diff --git a/common/env_onenand.c b/common/env_onenand.c index 5e04a06..5201b35 100644 --- a/common/env_onenand.c +++ b/common/env_onenand.c @@ -90,7 +90,7 @@ void env_relocate_spec(void)
rc = env_import(buf, 1); if (rc) - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); }
int saveenv(void) @@ -145,7 +145,7 @@ int env_init(void) { /* use default */ gd->env_addr = (ulong) & default_environment[0]; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID();
return 0; } diff --git a/common/env_sf.c b/common/env_sf.c index d3b36d0..0e9d136 100644 --- a/common/env_sf.c +++ b/common/env_sf.c @@ -99,7 +99,7 @@ int saveenv(void) env_new.crc = crc32(0, env_new.data, ENV_SIZE); env_new.flags = ACTIVE_FLAG;
- if (gd->env_valid == 1) { + if (gd->flags & GD_FLG_PRI_ENV_VALID) { env_new_offset = CONFIG_ENV_OFFSET_REDUND; env_offset = CONFIG_ENV_OFFSET; } else { @@ -156,9 +156,14 @@ int saveenv(void)
puts("done\n");
- gd->env_valid = (gd->env_valid == 2 ? 1 : 2); + if (gd->flags & GD_FLG_RED_ENV_VALID) { + SET_PRIMARY_ENV_VALID(); + printf("Valid environment: Primary\n"); + } else { + SET_REDUNDANT_ENV_VALID(); + printf("Valid environment: Redundant\n"); + }
- printf("Valid environment: %d\n", (int)gd->env_valid);
done: if (saved_buffer) @@ -210,28 +215,28 @@ void env_relocate_spec(void) set_default_env("!bad CRC"); goto err_read; } else if (crc1_ok && !crc2_ok) { - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else if (!crc1_ok && crc2_ok) { - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else if (tmp_env1->flags == ACTIVE_FLAG && tmp_env2->flags == OBSOLETE_FLAG) { - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else if (tmp_env1->flags == OBSOLETE_FLAG && tmp_env2->flags == ACTIVE_FLAG) { - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else if (tmp_env1->flags == tmp_env2->flags) { - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else if (tmp_env1->flags == 0xFF) { - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else { /* * this differs from code in env_flash.c, but I think a sane * default path is desirable. */ - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); }
- if (gd->env_valid == 1) + if (gd->flags & GD_FLG_PRI_ENV_VALID) ep = tmp_env1; else ep = tmp_env2; @@ -350,7 +355,7 @@ void env_relocate_spec(void) ret = env_import(buf, 1);
if (ret) - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); out: spi_flash_free(env_flash); env_flash = NULL; @@ -361,7 +366,7 @@ int env_init(void) { /* SPI flash isn't usable before relocation */ gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID();
return 0; } diff --git a/drivers/i2c/ppc4xx_i2c.c b/drivers/i2c/ppc4xx_i2c.c index c1cbe55..4c980d5 100644 --- a/drivers/i2c/ppc4xx_i2c.c +++ b/drivers/i2c/ppc4xx_i2c.c @@ -396,7 +396,7 @@ static int ppc4xx_i2c_transfer(uchar chip, uint addr, int alen, uchar *buffer, #endif if ((ret = i2c_transfer(read, chip << 1, &xaddr[4 - alen], alen, buffer, len)) != 0) { - if (gd->have_console) { + if (gd->flags & GD_FLG_HAVE_CONSOLE) { printf("I2C %s: failed %d\n", read ? "read" : "write", ret); } diff --git a/drivers/i2c/soft_i2c.c b/drivers/i2c/soft_i2c.c index 9b02e89..9e1dd44 100644 --- a/drivers/i2c/soft_i2c.c +++ b/drivers/i2c/soft_i2c.c @@ -118,9 +118,9 @@ DECLARE_GLOBAL_DATA_PTR;
#ifdef DEBUG_I2C -#define PRINTD(fmt,args...) do { \ - if (gd->have_console) \ - printf (fmt ,##args); \ +#define PRINTD(fmt,args...) do { \ + if (gd->flags & GD_FLG_HAVE_CONSOLE) \ + printf (fmt ,##args); \ } while (0) #else #define PRINTD(fmt,args...) diff --git a/include/environment.h b/include/environment.h index 6394a96..5f2b583 100644 --- a/include/environment.h +++ b/include/environment.h @@ -152,6 +152,24 @@ typedef struct environment_s { unsigned char data[ENV_SIZE]; /* Environment data */ } env_t;
+#define SET_NO_ENV_VALID() \ + do { \ + gd->flags &= ~(GD_FLG_PRI_ENV_VALID | \ + GD_FLG_RED_ENV_VALID); \ + } while (0) + +#define SET_PRIMARY_ENV_VALID() \ + do { \ + SET_NO_ENV_VALID(); \ + gd->flags |= GD_FLG_PRI_ENV_VALID; \ + } while (0) + +#define SET_REDUNDANT_ENV_VALID() \ + do { \ + SET_NO_ENV_VALID(); \ + gd->flags |= GD_FLG_RED_ENV_VALID; \ + } while (0) + #ifndef DO_DEPS_ONLY
#include <search.h> -- 1.7.5.2.317.g391b14

Signed-off-by: Graeme Russ graeme.russ@gmail.com --- Changes since V1: - In common/console.c, gd->flags &= GD_FLG_HAVE_CONSOLE change to |=
arch/arm/include/asm/global_data.h | 5 ++- arch/avr32/include/asm/global_data.h | 5 ++- arch/blackfin/include/asm/global_data.h | 5 ++- arch/blackfin/lib/board.c | 2 - arch/m68k/include/asm/global_data.h | 5 ++- arch/microblaze/include/asm/global_data.h | 5 ++- arch/mips/include/asm/global_data.h | 5 ++- arch/nios2/include/asm/global_data.h | 5 ++- arch/powerpc/cpu/mpc5xxx/i2c.c | 20 ++++++------ arch/powerpc/cpu/mpc8xx/i2c.c | 12 ++++---- arch/powerpc/include/asm/global_data.h | 5 ++- arch/sh/include/asm/global_data.h | 5 ++- arch/sparc/include/asm/global_data.h | 5 ++- arch/x86/include/asm/global_data.h | 36 +++++++++++----------- board/edb93xx/edb93xx.c | 2 +- board/matrix_vision/common/mv_common.c | 2 +- board/zeus/zeus.c | 2 +- common/console.c | 4 +- common/env_common.c | 6 ++-- common/env_dataflash.c | 6 ++-- common/env_eeprom.c | 36 +++++++++++----------- common/env_flash.c | 26 ++++++++-------- common/env_mgdisk.c | 2 +- common/env_mmc.c | 2 +- common/env_nand.c | 45 +++++++++++++++------------- common/env_nowhere.c | 2 +- common/env_nvram.c | 4 +- common/env_onenand.c | 4 +- common/env_sf.c | 31 +++++++++++-------- drivers/i2c/ppc4xx_i2c.c | 2 +- drivers/i2c/soft_i2c.c | 6 ++-- include/environment.h | 18 +++++++++++ 32 files changed, 177 insertions(+), 143 deletions(-)
diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h index 4fc51fd..b190aa1 100644 --- a/arch/arm/include/asm/global_data.h +++ b/arch/arm/include/asm/global_data.h @@ -37,9 +37,7 @@ typedef struct global_data { bd_t *bd; unsigned long flags; unsigned long baudrate; - unsigned long have_console; /* serial_init() was called */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ unsigned long fb_base; /* base address of frame buffer */ #ifdef CONFIG_FSL_ESDHC unsigned long sdhc_clk; @@ -88,6 +86,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r8")
diff --git a/arch/avr32/include/asm/global_data.h b/arch/avr32/include/asm/global_data.h index 4ef8fc5..010b358 100644 --- a/arch/avr32/include/asm/global_data.h +++ b/arch/avr32/include/asm/global_data.h @@ -37,10 +37,8 @@ typedef struct global_data { unsigned long flags; unsigned long baudrate; unsigned long stack_end; /* highest stack address */ - unsigned long have_console; /* serial_init() was called */ unsigned long reloc_off; /* Relocation Offset */ unsigned long env_addr; /* Address of env struct */ - unsigned long env_valid; /* Checksum of env valid? */ unsigned long cpu_hz; /* cpu core clock frequency */ #if defined(CONFIG_LCD) void *fb_base; /* framebuffer address */ @@ -60,6 +58,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#define DECLARE_GLOBAL_DATA_PTR register gd_t *gd asm("r5")
diff --git a/arch/blackfin/include/asm/global_data.h b/arch/blackfin/include/asm/global_data.h index eba5e93..73dbeed 100644 --- a/arch/blackfin/include/asm/global_data.h +++ b/arch/blackfin/include/asm/global_data.h @@ -44,10 +44,8 @@ typedef struct global_data { unsigned long flags; unsigned long board_type; unsigned long baudrate; - unsigned long have_console; /* serial_init() was called */ phys_size_t ram_size; /* RAM size */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER) unsigned long post_log_word; /* Record POST activities */ unsigned long post_init_f_time; /* When post_init_f started */ @@ -68,6 +66,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#define DECLARE_GLOBAL_DATA_PTR register gd_t * volatile gd asm ("P3")
diff --git a/arch/blackfin/lib/board.c b/arch/blackfin/lib/board.c index bfdb586..d388516 100644 --- a/arch/blackfin/lib/board.c +++ b/arch/blackfin/lib/board.c @@ -83,10 +83,8 @@ static void display_global_data(void) printf(" |-flags: %lx\n", gd->flags); printf(" |-board_type: %lx\n", gd->board_type); printf(" |-baudrate: %lu\n", gd->baudrate); - printf(" |-have_console: %lx\n", gd->have_console); printf(" |-ram_size: %lx\n", gd->ram_size); printf(" |-env_addr: %lx\n", gd->env_addr); - printf(" |-env_valid: %lx\n", gd->env_valid); printf(" |-jt(%p): %p\n", gd->jt, *(gd->jt)); printf(" \-bd: %p\n", gd->bd); printf(" |-bi_baudrate: %x\n", bd->bi_baudrate); diff --git a/arch/m68k/include/asm/global_data.h b/arch/m68k/include/asm/global_data.h index fc486fd..b95e810 100644 --- a/arch/m68k/include/asm/global_data.h +++ b/arch/m68k/include/asm/global_data.h @@ -55,8 +55,6 @@ typedef struct global_data { unsigned long reloc_off; /* Relocation Offset */ unsigned long reset_status; /* reset status register at boot */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ - unsigned long have_console; /* serial_init() was called */ #if defined(CONFIG_LCD) || defined(CONFIG_VIDEO) unsigned long fb_base; /* Base addr of framebuffer memory */ #endif @@ -78,6 +76,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#if 0 extern gd_t *global_data; diff --git a/arch/microblaze/include/asm/global_data.h b/arch/microblaze/include/asm/global_data.h index 557ad27..b37f934 100644 --- a/arch/microblaze/include/asm/global_data.h +++ b/arch/microblaze/include/asm/global_data.h @@ -38,9 +38,7 @@ typedef struct global_data { bd_t *bd; unsigned long flags; unsigned long baudrate; - unsigned long have_console; /* serial_init() was called */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ unsigned long fb_base; /* base address of frame buffer */ void **jt; /* jump table */ char env_buf[32]; /* buffer for getenv() before reloc. */ @@ -57,6 +55,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r31")
diff --git a/arch/mips/include/asm/global_data.h b/arch/mips/include/asm/global_data.h index 271a290..a3a5f75 100644 --- a/arch/mips/include/asm/global_data.h +++ b/arch/mips/include/asm/global_data.h @@ -40,11 +40,9 @@ typedef struct global_data { bd_t *bd; unsigned long flags; unsigned long baudrate; - unsigned long have_console; /* serial_init() was called */ phys_size_t ram_size; /* RAM size */ unsigned long reloc_off; /* Relocation Offset */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ void **jt; /* jump table */ char env_buf[32]; /* buffer for getenv() before reloc. */ } gd_t; @@ -60,6 +58,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("k0")
diff --git a/arch/nios2/include/asm/global_data.h b/arch/nios2/include/asm/global_data.h index 2c4a719..a3d1801 100644 --- a/arch/nios2/include/asm/global_data.h +++ b/arch/nios2/include/asm/global_data.h @@ -28,10 +28,8 @@ typedef struct global_data { unsigned long flags; unsigned long baudrate; unsigned long cpu_clk; /* CPU clock in Hz! */ - unsigned long have_console; /* serial_init() was called */ phys_size_t ram_size; /* RAM size */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid */ #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER) unsigned long post_log_word; /* Record POST activities */ unsigned long post_init_f_time; /* When post_init_f started */ @@ -49,6 +47,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#define DECLARE_GLOBAL_DATA_PTR register gd_t *gd asm ("gp")
diff --git a/arch/powerpc/cpu/mpc5xxx/i2c.c b/arch/powerpc/cpu/mpc5xxx/i2c.c index 9fb330f..2ae8121 100644 --- a/arch/powerpc/cpu/mpc5xxx/i2c.c +++ b/arch/powerpc/cpu/mpc5xxx/i2c.c @@ -332,7 +332,7 @@ static int mpc_get_fdr(int speed) if (gd->flags & GD_FLG_RELOC) { fdr = divider; } else { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("%ld kHz, ", best_speed / 1000); return divider; } @@ -374,33 +374,33 @@ int i2c_read(uchar chip, uint addr, int alen, uchar *buf, int len) xaddr[3] = addr & 0xFF;
if (wait_for_bb()) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_read: bus is busy\n"); goto Done; }
mpc_reg_out(®s->mcr, I2C_STA, I2C_STA); if (do_address(chip, 0)) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_read: failed to address chip\n"); goto Done; }
if (send_bytes(chip, &xaddr[4-alen], alen)) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_read: send_bytes failed\n"); goto Done; }
mpc_reg_out(®s->mcr, I2C_RSTA, I2C_RSTA); if (do_address(chip, 1)) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_read: failed to address chip\n"); goto Done; }
if (receive_bytes(chip, (char *)buf, len)) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_read: receive_bytes failed\n"); goto Done; } @@ -423,26 +423,26 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buf, int len) xaddr[3] = addr & 0xFF;
if (wait_for_bb()) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_write: bus is busy\n"); goto Done; }
mpc_reg_out(®s->mcr, I2C_STA, I2C_STA); if (do_address(chip, 0)) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_write: failed to address chip\n"); goto Done; }
if (send_bytes(chip, &xaddr[4-alen], alen)) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_write: send_bytes failed\n"); goto Done; }
if (send_bytes(chip, (char *)buf, len)) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_write: send_bytes failed\n"); goto Done; } diff --git a/arch/powerpc/cpu/mpc8xx/i2c.c b/arch/powerpc/cpu/mpc8xx/i2c.c index 338caba..e33d1a0 100644 --- a/arch/powerpc/cpu/mpc8xx/i2c.c +++ b/arch/powerpc/cpu/mpc8xx/i2c.c @@ -633,21 +633,21 @@ int i2c_read(uchar chip, uint addr, int alen, uchar *buffer, int len)
rc = i2c_send(&state, chip, 0, I2CF_START_COND, alen, &xaddr[4-alen]); if (rc != 0) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_read: i2c_send failed (%d)\n", rc); return 1; }
rc = i2c_receive(&state, chip, 0, I2CF_STOP_COND, len, buffer); if (rc != 0) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_read: i2c_receive failed (%d)\n", rc); return 1; }
rc = i2c_doio(&state); if (rc != 0) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_read: i2c_doio failed (%d)\n", rc); return 1; } @@ -683,21 +683,21 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)
rc = i2c_send(&state, chip, 0, I2CF_START_COND, alen, &xaddr[4-alen]); if (rc != 0) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_write: first i2c_send failed (%d)\n", rc); return 1; }
rc = i2c_send(&state, 0, 0, I2CF_STOP_COND, len, buffer); if (rc != 0) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_write: second i2c_send failed (%d)\n", rc); return 1; }
rc = i2c_doio(&state); if (rc != 0) { - if (gd->have_console) + if (gd->flags & GD_FLG_HAVE_CONSOLE) printf("i2c_write: i2c_doio failed (%d)\n", rc); return 1; } diff --git a/arch/powerpc/include/asm/global_data.h b/arch/powerpc/include/asm/global_data.h index a33ca2f..5a73a24 100644 --- a/arch/powerpc/include/asm/global_data.h +++ b/arch/powerpc/include/asm/global_data.h @@ -136,8 +136,6 @@ typedef struct global_data { unsigned long arbiter_event_address; #endif unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ - unsigned long have_console; /* serial_init() was called */ #if defined(CONFIG_SYS_ALLOC_DPRAM) || defined(CONFIG_CPM2) unsigned int dp_alloc_base; unsigned int dp_alloc_top; @@ -193,6 +191,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#if 1 #define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r2") diff --git a/arch/sh/include/asm/global_data.h b/arch/sh/include/asm/global_data.h index 0c09ba9..d27d21e 100644 --- a/arch/sh/include/asm/global_data.h +++ b/arch/sh/include/asm/global_data.h @@ -33,10 +33,8 @@ typedef struct global_data unsigned long flags; unsigned long baudrate; unsigned long cpu_clk; /* CPU clock in Hz! */ - unsigned long have_console; /* serial_init() was called */ phys_size_t ram_size; /* RAM size */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid */ void **jt; /* Standalone app jump table */ char env_buf[32]; /* buffer for getenv() before reloc. */ } gd_t; @@ -49,6 +47,9 @@ typedef struct global_data #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#define DECLARE_GLOBAL_DATA_PTR register gd_t *gd asm ("r13")
diff --git a/arch/sparc/include/asm/global_data.h b/arch/sparc/include/asm/global_data.h index 9b14674..08984f8 100644 --- a/arch/sparc/include/asm/global_data.h +++ b/arch/sparc/include/asm/global_data.h @@ -50,8 +50,6 @@ typedef struct global_data { unsigned long reloc_off; /* Relocation Offset */ unsigned long reset_status; /* reset status register at boot */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ - unsigned long have_console; /* serial_init() was called */
#if defined(CONFIG_LCD) || defined(CONFIG_VIDEO) unsigned long fb_base; /* Base address of framebuffer memory */ @@ -85,6 +83,9 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE 0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("%g7")
diff --git a/arch/x86/include/asm/global_data.h b/arch/x86/include/asm/global_data.h index f8a16d6..2902e61 100644 --- a/arch/x86/include/asm/global_data.h +++ b/arch/x86/include/asm/global_data.h @@ -39,11 +39,9 @@ typedef struct global_data { bd_t *bd; unsigned long flags; unsigned long baudrate; - unsigned long have_console; /* serial_init() was called */ unsigned long reloc_off; /* Relocation Offset */ unsigned long load_off; /* Load Offset */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ unsigned long cpu_clk; /* CPU clock in Hz! */ unsigned long bus_clk; unsigned long relocaddr; /* Start address of U-Boot in RAM */ @@ -59,23 +57,21 @@ extern gd_t *gd; #endif
/* Word Offsets into Global Data - MUST match struct gd_t */ -#define GD_BD 0 -#define GD_FLAGS 1 -#define GD_BAUDRATE 2 -#define GD_HAVE_CONSOLE 3 -#define GD_RELOC_OFF 4 -#define GD_LOAD_OFF 5 -#define GD_ENV_ADDR 6 -#define GD_ENV_VALID 7 -#define GD_CPU_CLK 8 -#define GD_BUS_CLK 9 -#define GD_RELOC_ADDR 10 -#define GD_START_ADDR_SP 11 -#define GD_RAM_SIZE 12 -#define GD_RESET_STATUS 13 -#define GD_JT 14 +#define GD_BD 0 +#define GD_FLAGS 1 +#define GD_BAUDRATE 2 +#define GD_RELOC_OFF 3 +#define GD_LOAD_OFF 4 +#define GD_ENV_ADDR 5 +#define GD_CPU_CLK 6 +#define GD_BUS_CLK 7 +#define GD_RELOC_ADDR 8 +#define GD_START_ADDR_SP 9 +#define GD_RAM_SIZE 10 +#define GD_RESET_STATUS 11 +#define GD_JT 12
-#define GD_SIZE 15 +#define GD_SIZE 13
/* * Global Data Flags @@ -90,6 +86,10 @@ extern gd_t *gd; #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ #define GD_FLG_COLD_BOOT 0x00100 /* Cold Boot */ #define GD_FLG_WARM_BOOT 0x00200 /* Warm Boot */ +#define GD_FLG_HAVE_CONSOLE 0x00400 /* Warm Boot */ +#define GD_FLG_PRI_ENV_VALID 0x00800 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x01000 /* Redundant environment valid */ +
#if 0 #define DECLARE_GLOBAL_DATA_PTR diff --git a/board/edb93xx/edb93xx.c b/board/edb93xx/edb93xx.c index dde30ff..80dfec7 100644 --- a/board/edb93xx/edb93xx.c +++ b/board/edb93xx/edb93xx.c @@ -77,7 +77,7 @@ int board_init(void) gd->bd->bi_boot_params = LINUX_BOOT_PARAM_ADDR;
/* We have a console */ - gd->have_console = 1; + gd->flags &= GD_FLG_HAVE_CONSOLE;
return 0; } diff --git a/board/matrix_vision/common/mv_common.c b/board/matrix_vision/common/mv_common.c index 404c8b4..cadbe0b 100644 --- a/board/matrix_vision/common/mv_common.c +++ b/board/matrix_vision/common/mv_common.c @@ -56,7 +56,7 @@ void mv_reset_environment(void) } }
- gd->env_valid = 0; + SET_NO_ENV_VALID(); env_relocate();
for (i = 0; i < MV_KEEP_ENTRIES; i++) { diff --git a/board/zeus/zeus.c b/board/zeus/zeus.c index 18cb85f..c877c65 100644 --- a/board/zeus/zeus.c +++ b/board/zeus/zeus.c @@ -224,7 +224,7 @@ static int restore_default(void)
set_default_env("");
- gd->env_valid = 1; + SET_PRIMARY_ENV_VALID();
/* * Read board specific values from I2C EEPROM diff --git a/common/console.c b/common/console.c index 8c650e0..acc4df3 100644 --- a/common/console.c +++ b/common/console.c @@ -404,7 +404,7 @@ static int ctrlc_disabled = 0; /* see disable_ctrl() */ static int ctrlc_was_pressed = 0; int ctrlc(void) { - if (!ctrlc_disabled && gd->have_console) { + if (!ctrlc_disabled && (gd->flags & GD_FLG_HAVE_CONSOLE)) { if (tstc()) { switch (getc()) { case 0x03: /* ^C - Control C */ @@ -522,7 +522,7 @@ int console_assign(int file, const char *devname) /* Called before relocation - use serial functions */ int console_init_f(void) { - gd->have_console = 1; + gd->flags |= GD_FLG_HAVE_CONSOLE;
#ifdef CONFIG_SILENT_CONSOLE if (getenv("silent") != NULL) diff --git a/common/env_common.c b/common/env_common.c index 19149b5..aaf7304 100644 --- a/common/env_common.c +++ b/common/env_common.c @@ -136,7 +136,7 @@ static uchar env_get_char_init (int index) uchar c;
/* if crc was bad, use the default environment */ - if (gd->env_valid) + if (gd->flags & (GD_FLG_PRI_ENV_VALID | GD_FLG_RED_ENV_VALID)) c = env_get_char_spec(index); else c = default_environment[index]; @@ -164,7 +164,7 @@ uchar env_get_char (int index)
const uchar *env_get_addr (int index) { - if (gd->env_valid) + if (gd->flags & (GD_FLG_PRI_ENV_VALID | GD_FLG_RED_ENV_VALID)) return (uchar *)(gd->env_addr + index); else return &default_environment[index]; @@ -234,7 +234,7 @@ void env_relocate (void)
env_reloc(); #endif - if (gd->env_valid == 0) { + if (!(gd->flags & (GD_FLG_PRI_ENV_VALID | GD_FLG_RED_ENV_VALID))) { #if defined(CONFIG_ENV_IS_NOWHERE) /* Environment not changable */ set_default_env(NULL); #else diff --git a/common/env_dataflash.c b/common/env_dataflash.c index 1d57079..d90ec05 100644 --- a/common/env_dataflash.c +++ b/common/env_dataflash.c @@ -92,7 +92,7 @@ int env_init(void) unsigned off; uchar buf[64];
- if (gd->env_valid) + if (gd->flags & (GD_FLG_PRI_ENV_VALID | GD_FLG_RED_ENV_VALID)) return 0;
AT91F_DataflashInit(); /* prepare for DATAFLASH read/write */ @@ -116,10 +116,10 @@ int env_init(void)
if (crc == new) { gd->env_addr = offsetof(env_t,data); - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else { gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 0; + SET_NO_ENV_VALID(); }
return 0; diff --git a/common/env_eeprom.c b/common/env_eeprom.c index 0a179ad..24b017a 100644 --- a/common/env_eeprom.c +++ b/common/env_eeprom.c @@ -101,7 +101,7 @@ uchar env_get_char_spec (int index) off = CONFIG_ENV_OFFSET;
#ifdef CONFIG_ENV_OFFSET_REDUND - if (gd->env_valid == 2) + if (gd->flags & GD_FLG_RED_ENV_VALID) off = CONFIG_ENV_OFFSET_REDUND; #endif eeprom_bus_read(CONFIG_SYS_DEF_EEPROM_ADDR, @@ -117,7 +117,7 @@ void env_relocate_spec (void) unsigned int off = CONFIG_ENV_OFFSET;
#ifdef CONFIG_ENV_OFFSET_REDUND - if (gd->env_valid == 2) + if (gd->flags & GD_FLG_RED_ENV_VALID) off = CONFIG_ENV_OFFSET_REDUND; #endif eeprom_bus_read(CONFIG_SYS_DEF_EEPROM_ADDR, @@ -151,7 +151,7 @@ int saveenv(void) env_new.crc = crc32(0, env_new.data, ENV_SIZE);
#ifdef CONFIG_ENV_OFFSET_REDUND - if (gd->env_valid == 1) { + if (gd->flags & GD_FLG_PRI_ENV_VALID) { off = CONFIG_ENV_OFFSET_REDUND; off_red = CONFIG_ENV_OFFSET; } @@ -170,10 +170,10 @@ int saveenv(void) off_red + offsetof(env_t,flags), (uchar *)&flag_obsolete, 1); - if (gd->env_valid == 1) - gd->env_valid = 2; + if (gd->flags & GD_FLG_PRI_ENV_VALID) + SET_REDUNDANT_ENV_VALID(); else - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID();
} #endif @@ -233,31 +233,31 @@ int env_init(void)
if (!crc_ok[0] && !crc_ok[1]) { gd->env_addr = 0; - gd->env_valid = 0; + SET_NO_ENV_VALID();
return 0; } else if (crc_ok[0] && !crc_ok[1]) { - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else if (!crc_ok[0] && crc_ok[1]) { - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else { /* both ok - check serial */ if (flags[0] == ACTIVE_FLAG && flags[1] == OBSOLETE_FLAG) - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); else if (flags[0] == OBSOLETE_FLAG && flags[1] == ACTIVE_FLAG) - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); else if (flags[0] == 0xFF && flags[1] == 0) - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); else if(flags[1] == 0xFF && flags[0] == 0) - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); else /* flags are equal - almost impossible */ - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); }
- if (gd->env_valid == 2) + if (gd->flags & GD_FLG_RED_ENV_VALID) gd->env_addr = off_env[1] + offsetof(env_t,data); - else if (gd->env_valid == 1) + else if (gd->flags & GD_FLG_PRI_ENV_VALID) gd->env_addr = off_env[0] + offsetof(env_t,data);
return (0); @@ -292,10 +292,10 @@ int env_init(void)
if (crc == new) { gd->env_addr = offsetof(env_t,data); - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else { gd->env_addr = 0; - gd->env_valid = 0; + SET_NO_ENV_VALID(); }
return (0); diff --git a/common/env_flash.c b/common/env_flash.c index 50ca4ffa..20586e1 100644 --- a/common/env_flash.c +++ b/common/env_flash.c @@ -100,28 +100,28 @@ int env_init(void)
if (crc1_ok && ! crc2_ok) { gd->env_addr = addr1; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else if (! crc1_ok && crc2_ok) { gd->env_addr = addr2; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else if (! crc1_ok && ! crc2_ok) { gd->env_addr = addr_default; - gd->env_valid = 0; + SET_NO_ENV_VALID(); } else if (flag1 == ACTIVE_FLAG && flag2 == OBSOLETE_FLAG) { gd->env_addr = addr1; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else if (flag1 == OBSOLETE_FLAG && flag2 == ACTIVE_FLAG) { gd->env_addr = addr2; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else if (flag1 == flag2) { gd->env_addr = addr1; - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else if (flag1 == 0xFF) { gd->env_addr = addr1; - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else if (flag2 == 0xFF) { gd->env_addr = addr2; - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); }
return 0; @@ -244,12 +244,12 @@ int env_init(void) { if (crc32(0, env_ptr->data, ENV_SIZE) == env_ptr->crc) { gd->env_addr = (ulong)&(env_ptr->data); - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); return(0); }
gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 0; + SET_NO_ENV_VALID(); return 0; }
@@ -351,7 +351,7 @@ void env_relocate_spec(void) flash_addr_new->crc) { char flag = OBSOLETE_FLAG;
- gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); flash_sect_protect(0, (ulong)flash_addr_new, end_addr_new); flash_write(&flag, (ulong)&(flash_addr_new->flags), @@ -363,7 +363,7 @@ void env_relocate_spec(void) (flash_addr->flags & ACTIVE_FLAG) == ACTIVE_FLAG) { char flag = ACTIVE_FLAG;
- gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); flash_sect_protect(0, (ulong)flash_addr, end_addr); flash_write(&flag, (ulong)&(flash_addr->flags), @@ -371,7 +371,7 @@ void env_relocate_spec(void) flash_sect_protect(1, (ulong)flash_addr, end_addr); }
- if (gd->env_valid == 2) + if (gd->flags & GD_FLG_RED_ENV_VALID) puts ("*** Warning - some problems detected " "reading environment; recovered successfully\n\n"); #endif /* CONFIG_ENV_ADDR_REDUND */ diff --git a/common/env_mgdisk.c b/common/env_mgdisk.c index a69923b..0a91317 100644 --- a/common/env_mgdisk.c +++ b/common/env_mgdisk.c @@ -78,7 +78,7 @@ int env_init(void) { /* use default */ gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID();
return 0; } diff --git a/common/env_mmc.c b/common/env_mmc.c index 83f40f4..b69efcb 100644 --- a/common/env_mmc.c +++ b/common/env_mmc.c @@ -73,7 +73,7 @@ int env_init(void) { /* use default */ gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID();
return 0; } diff --git a/common/env_nand.c b/common/env_nand.c index 14446a6..9440a1e 100644 --- a/common/env_nand.c +++ b/common/env_nand.c @@ -108,41 +108,41 @@ int env_init(void)
if (!crc1_ok && !crc2_ok) { gd->env_addr = 0; - gd->env_valid = 0; + SET_NO_ENV_VALID();
return 0; } else if (crc1_ok && !crc2_ok) { - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } #ifdef CONFIG_ENV_OFFSET_REDUND else if (!crc1_ok && crc2_ok) { - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else { /* both ok - check serial */ if(tmp_env1->flags == 255 && tmp_env2->flags == 0) - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); else if(tmp_env2->flags == 255 && tmp_env1->flags == 0) - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); else if(tmp_env1->flags > tmp_env2->flags) - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); else if(tmp_env2->flags > tmp_env1->flags) - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); else /* flags are equal - almost impossible */ - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); }
- if (gd->env_valid == 2) + if (gd->flags & GD_FLG_RED_ENV_VALID) env_ptr = tmp_env2; else #endif - if (gd->env_valid == 1) + if (gd->flags & GD_FLG_PRI_ENV_VALID) env_ptr = tmp_env1;
gd->env_addr = (ulong)env_ptr->data;
#else /* ENV_IS_EMBEDDED || CONFIG_NAND_ENV_DST */ gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); #endif /* ENV_IS_EMBEDDED || CONFIG_NAND_ENV_DST */
return (0); @@ -208,7 +208,7 @@ int saveenv(void) env_new.crc = crc32(0, env_new.data, ENV_SIZE); env_new.flags = ++env_flags; /* increase the serial */
- if(gd->env_valid == 1) { + if(gd->flags & GD_FLG_PRI_ENV_VALID) { puts("Erasing redundant NAND...\n"); nand_erase_options.offset = CONFIG_ENV_OFFSET_REDUND; if (nand_erase_opts(&nand_info[0], &nand_erase_options)) @@ -234,7 +234,10 @@ int saveenv(void)
puts("done\n");
- gd->env_valid = (gd->env_valid == 2 ? 1 : 2); + if (gd->flags & GD_FLG_RED_ENV_VALID) + SET_PRIMARY_ENV_VALID(); + else + SET_REDUNDANT_ENV_VALID();
return ret; } @@ -373,27 +376,27 @@ void env_relocate_spec(void) set_default_env("!bad CRC"); return; } else if (crc1_ok && !crc2_ok) { - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else if (!crc1_ok && crc2_ok) { - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else { /* both ok - check serial */ if (tmp_env1->flags == 255 && tmp_env2->flags == 0) - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); else if (tmp_env2->flags == 255 && tmp_env1->flags == 0) - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); else if (tmp_env1->flags > tmp_env2->flags) - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); else if (tmp_env2->flags > tmp_env1->flags) - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); else /* flags are equal - almost impossible */ - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID();
}
free(env_ptr);
- if (gd->env_valid == 1) + if (gd->flags & GD_FLG_PRI_ENV_VALID) ep = tmp_env1; else ep = tmp_env2; diff --git a/common/env_nowhere.c b/common/env_nowhere.c index 75ef78d..9441575 100644 --- a/common/env_nowhere.c +++ b/common/env_nowhere.c @@ -52,7 +52,7 @@ uchar env_get_char_spec(int index) int env_init(void) { gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 0; + SET_NO_ENV_VALID();
return (0); } diff --git a/common/env_nvram.c b/common/env_nvram.c index 544ce47..78ea38b 100644 --- a/common/env_nvram.c +++ b/common/env_nvram.c @@ -131,10 +131,10 @@ int env_init(void) if (crc32(0, env_ptr->data, ENV_SIZE) == env_ptr->crc) { gd->env_addr = (ulong)&(env_ptr->data); #endif - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else { gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 0; + SET_NO_ENV_VALID(); } return (0); } diff --git a/common/env_onenand.c b/common/env_onenand.c index 5e04a06..5201b35 100644 --- a/common/env_onenand.c +++ b/common/env_onenand.c @@ -90,7 +90,7 @@ void env_relocate_spec(void)
rc = env_import(buf, 1); if (rc) - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); }
int saveenv(void) @@ -145,7 +145,7 @@ int env_init(void) { /* use default */ gd->env_addr = (ulong) & default_environment[0]; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID();
return 0; } diff --git a/common/env_sf.c b/common/env_sf.c index d3b36d0..0e9d136 100644 --- a/common/env_sf.c +++ b/common/env_sf.c @@ -99,7 +99,7 @@ int saveenv(void) env_new.crc = crc32(0, env_new.data, ENV_SIZE); env_new.flags = ACTIVE_FLAG;
- if (gd->env_valid == 1) { + if (gd->flags & GD_FLG_PRI_ENV_VALID) { env_new_offset = CONFIG_ENV_OFFSET_REDUND; env_offset = CONFIG_ENV_OFFSET; } else { @@ -156,9 +156,14 @@ int saveenv(void)
puts("done\n");
- gd->env_valid = (gd->env_valid == 2 ? 1 : 2); + if (gd->flags & GD_FLG_RED_ENV_VALID) { + SET_PRIMARY_ENV_VALID(); + printf("Valid environment: Primary\n"); + } else { + SET_REDUNDANT_ENV_VALID(); + printf("Valid environment: Redundant\n"); + }
- printf("Valid environment: %d\n", (int)gd->env_valid);
done: if (saved_buffer) @@ -210,28 +215,28 @@ void env_relocate_spec(void) set_default_env("!bad CRC"); goto err_read; } else if (crc1_ok && !crc2_ok) { - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else if (!crc1_ok && crc2_ok) { - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else if (tmp_env1->flags == ACTIVE_FLAG && tmp_env2->flags == OBSOLETE_FLAG) { - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); } else if (tmp_env1->flags == OBSOLETE_FLAG && tmp_env2->flags == ACTIVE_FLAG) { - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else if (tmp_env1->flags == tmp_env2->flags) { - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else if (tmp_env1->flags == 0xFF) { - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); } else { /* * this differs from code in env_flash.c, but I think a sane * default path is desirable. */ - gd->env_valid = 2; + SET_REDUNDANT_ENV_VALID(); }
- if (gd->env_valid == 1) + if (gd->flags & GD_FLG_PRI_ENV_VALID) ep = tmp_env1; else ep = tmp_env2; @@ -350,7 +355,7 @@ void env_relocate_spec(void) ret = env_import(buf, 1);
if (ret) - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID(); out: spi_flash_free(env_flash); env_flash = NULL; @@ -361,7 +366,7 @@ int env_init(void) { /* SPI flash isn't usable before relocation */ gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 1; + SET_PRIMARY_ENV_VALID();
return 0; } diff --git a/drivers/i2c/ppc4xx_i2c.c b/drivers/i2c/ppc4xx_i2c.c index c1cbe55..4c980d5 100644 --- a/drivers/i2c/ppc4xx_i2c.c +++ b/drivers/i2c/ppc4xx_i2c.c @@ -396,7 +396,7 @@ static int ppc4xx_i2c_transfer(uchar chip, uint addr, int alen, uchar *buffer, #endif if ((ret = i2c_transfer(read, chip << 1, &xaddr[4 - alen], alen, buffer, len)) != 0) { - if (gd->have_console) { + if (gd->flags & GD_FLG_HAVE_CONSOLE) { printf("I2C %s: failed %d\n", read ? "read" : "write", ret); } diff --git a/drivers/i2c/soft_i2c.c b/drivers/i2c/soft_i2c.c index 9b02e89..9e1dd44 100644 --- a/drivers/i2c/soft_i2c.c +++ b/drivers/i2c/soft_i2c.c @@ -118,9 +118,9 @@ DECLARE_GLOBAL_DATA_PTR;
#ifdef DEBUG_I2C -#define PRINTD(fmt,args...) do { \ - if (gd->have_console) \ - printf (fmt ,##args); \ +#define PRINTD(fmt,args...) do { \ + if (gd->flags & GD_FLG_HAVE_CONSOLE) \ + printf (fmt ,##args); \ } while (0) #else #define PRINTD(fmt,args...) diff --git a/include/environment.h b/include/environment.h index 6394a96..5f2b583 100644 --- a/include/environment.h +++ b/include/environment.h @@ -152,6 +152,24 @@ typedef struct environment_s { unsigned char data[ENV_SIZE]; /* Environment data */ } env_t;
+#define SET_NO_ENV_VALID() \ + do { \ + gd->flags &= ~(GD_FLG_PRI_ENV_VALID | \ + GD_FLG_RED_ENV_VALID); \ + } while (0) + +#define SET_PRIMARY_ENV_VALID() \ + do { \ + SET_NO_ENV_VALID(); \ + gd->flags |= GD_FLG_PRI_ENV_VALID; \ + } while (0) + +#define SET_REDUNDANT_ENV_VALID() \ + do { \ + SET_NO_ENV_VALID(); \ + gd->flags |= GD_FLG_RED_ENV_VALID; \ + } while (0) + #ifndef DO_DEPS_ONLY
#include <search.h> -- 1.7.5.2.317.g391b14

looks sane enough to me
when changing the global_data structure, do we need to bump the u-boot standalone API number (XF_VERSION in exports.h) ? and i vaguely recall global data being passed to like Linux for some arches ? although looking at the number of #ifdef's in there, maybe that's already been a long lost battle. -mike

Hi Mike,
On 27/08/11 06:15, Mike Frysinger wrote:
looks sane enough to me
when changing the global_data structure, do we need to bump the u-boot standalone API number (XF_VERSION in exports.h) ? and i vaguely recall global data being passed to like Linux for some arches ? although looking at the number of #ifdef's in there, maybe that's already been a long lost battle.
That's a very interesting point. As far as I can tell, XF_VERSION needs to be incremented when either the global data data structure is modified, or if functions are added to or removed from the export list. Commit 3469424cb6d939c7aedf1e0efdec44a797c0a18c seems to confirm this:
Note that the location of the standalone application jump table pointer in the global data structure is affected by this change, breaking execution of standalone applications compiled for previous versions of U-Boot.
So I think your point about the #ifdef's in global data is very interesting. There are a _lot_ of board level defines (LCD, PCI, POST etc)
Question for Wolfgang I think :)
Regards,
Graeme

On 08/26/2011 03:15 PM, Mike Frysinger wrote:
looks sane enough to me
when changing the global_data structure, do we need to bump the u-boot standalone API number (XF_VERSION in exports.h) ? and i vaguely recall global data being passed to like Linux for some arches ? although looking at the number of #ifdef's in there, maybe that's already been a long lost battle.
The data passed to Linux in the non-device-tree case was bd_t, not gd_t.
Of course, that's full of ifdefs too, at least on powerpc. :-P
-Scott

Dear Graeme Russ,
In message 1314365780-15051-1-git-send-email-graeme.russ@gmail.com you wrote:
Signed-off-by: Graeme Russ graeme.russ@gmail.com
Changes since V1:
- In common/console.c, gd->flags &= GD_FLG_HAVE_CONSOLE change to |=
arch/arm/include/asm/global_data.h | 5 ++- arch/avr32/include/asm/global_data.h | 5 ++- arch/blackfin/include/asm/global_data.h | 5 ++- arch/blackfin/lib/board.c | 2 - arch/m68k/include/asm/global_data.h | 5 ++- arch/microblaze/include/asm/global_data.h | 5 ++- arch/mips/include/asm/global_data.h | 5 ++- arch/nios2/include/asm/global_data.h | 5 ++- arch/powerpc/cpu/mpc5xxx/i2c.c | 20 ++++++------ arch/powerpc/cpu/mpc8xx/i2c.c | 12 ++++---- arch/powerpc/include/asm/global_data.h | 5 ++- arch/sh/include/asm/global_data.h | 5 ++- arch/sparc/include/asm/global_data.h | 5 ++- arch/x86/include/asm/global_data.h | 36 +++++++++++----------- board/edb93xx/edb93xx.c | 2 +- board/matrix_vision/common/mv_common.c | 2 +- board/zeus/zeus.c | 2 +- common/console.c | 4 +- common/env_common.c | 6 ++-- common/env_dataflash.c | 6 ++-- common/env_eeprom.c | 36 +++++++++++----------- common/env_flash.c | 26 ++++++++-------- common/env_mgdisk.c | 2 +- common/env_mmc.c | 2 +- common/env_nand.c | 45 +++++++++++++++------------- common/env_nowhere.c | 2 +- common/env_nvram.c | 4 +- common/env_onenand.c | 4 +- common/env_sf.c | 31 +++++++++++-------- drivers/i2c/ppc4xx_i2c.c | 2 +- drivers/i2c/soft_i2c.c | 6 ++-- include/environment.h | 18 +++++++++++ 32 files changed, 177 insertions(+), 143 deletions(-)
Checkpatch says:
total: 3 errors, 43 warnings, 901 lines checked
Please clean up and resubmit. Thanks.
Best regards,
Wolfgang Denk
participants (4)
-
Graeme Russ
-
Mike Frysinger
-
Scott Wood
-
Wolfgang Denk