gd->bd->bi_baudrate is a copy of gd->baudrate.
Since baudrate is a common feature for all architectures,
keep gd->baudrate only.
It is true that bi_baudrate was passed to the kernel in that structure
but it was a long time ago.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Tom Rini <trini@ti.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Acked-by: Michal Simek <monstr@monstr.eu> (For microblaze)
 
 #ifndef __ASSEMBLY__
 typedef struct bd_info {
-       unsigned int    bi_baudrate;    /* serial console baudrate */
     ulong              bi_arch_number; /* unique id for this board */
     ulong              bi_boot_params; /* where this board expects params */
        unsigned long   bi_arm_freq; /* arm frequency */
 
        post_run(NULL, POST_ROM | post_bootmode_get(0));
 #endif
 
-       gd->bd->bi_baudrate = gd->baudrate;
        /* Ram ist board specific, so move it to board code ... */
        dram_init_banksize();
        display_dram_config();  /* and display it */
 
 #define __ASM_U_BOOT_H__ 1
 
 typedef struct bd_info {
-       unsigned int            bi_baudrate;
        unsigned char           bi_phy_id[4];
        unsigned long           bi_board_number;
        void                    *bi_boot_params;
 
         */
        bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
        bd->bi_dram[0].size = sdram_size;
-       bd->bi_baudrate = gd->baudrate;
 
        memcpy(new_gd, gd, sizeof(gd_t));
 
 
 #define _U_BOOT_H_     1
 
 typedef struct bd_info {
-       unsigned int bi_baudrate;       /* serial console baudrate */
        unsigned long bi_boot_params;   /* where this board expects params */
        unsigned long bi_memstart;      /* start of DRAM memory */
        phys_size_t bi_memsize;         /* size  of DRAM memory in bytes */
 
 static int init_baudrate(void)
 {
        gd->baudrate = getenv_ulong("baudrate", 10, CONFIG_BAUDRATE);
-       gd->bd->bi_baudrate = gd->baudrate;
        return 0;
 }
 
        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);
        printf("   |-bi_boot_params: %lx\n", bd->bi_boot_params);
        printf("   |-bi_memstart: %lx\n", bd->bi_memstart);
        printf("   |-bi_memsize: %lx\n", bd->bi_memsize);
 
        unsigned long bi_vcofreq;       /* vco Freq in MHz */
        unsigned long bi_flbfreq;       /* Flexbus Freq in MHz */
 #endif
-       unsigned int bi_baudrate;       /* Console Baudrate */
 } bd_t;
 
 #endif                         /* __ASSEMBLY__ */
 
        bd->bi_vcofreq = gd->arch.vco_clk;              /* vco Freq in Hz */
        bd->bi_flbfreq = gd->arch.flb_clk;              /* flexbus Freq in Hz */
 #endif
-       bd->bi_baudrate = gd->baudrate; /* Console Baudrate     */
 
 #ifdef CONFIG_SYS_EXTBDINFO
        strncpy (bd->bi_s_version, "1.2", sizeof (bd->bi_s_version));
 
        unsigned long   bi_flashoffset; /* reserved area for startup monitor */
        unsigned long   bi_sramstart;   /* start of SRAM memory */
        unsigned long   bi_sramsize;    /* size  of SRAM memory */
-       unsigned int    bi_baudrate;    /* Console Baudrate */
        ulong           bi_boot_params; /* where this board expects params */
 } bd_t;
 
 
        memset((void *)bd, 0, GENERATED_BD_INFO_SIZE);
        gd->bd = bd;
        gd->baudrate = CONFIG_BAUDRATE;
-       bd->bi_baudrate = CONFIG_BAUDRATE;
        bd->bi_memstart = CONFIG_SYS_SDRAM_BASE;
        bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE;
        gd->flags |= GD_FLG_RELOC;      /* tell others: relocation done */
 
 #else /* !CONFIG_SYS_GENERIC_BOARD */
 
 typedef struct bd_info {
-       unsigned int    bi_baudrate;    /* serial console baudrate */
        unsigned long   bi_arch_number; /* unique id for this board */
        unsigned long   bi_boot_params; /* where this board expects params */
        unsigned long   bi_memstart;    /* start of DRAM memory */
 
         */
        bd->bi_memstart = CONFIG_SYS_SDRAM_BASE;        /* start of DRAM */
        bd->bi_memsize  = gd->ram_size;         /* size of DRAM in bytes */
-       bd->bi_baudrate = gd->baudrate;         /* Console Baudrate */
 
        memcpy(id, (void *)gd, sizeof(gd_t));
 
 
 #include <environment.h>
 
 typedef struct bd_info {
-       unsigned int    bi_baudrate;    /* serial console baudrate */
        unsigned long   bi_arch_number; /* unique id for this board */
        unsigned long   bi_boot_params; /* where this board expects params */
        unsigned long   bi_memstart;    /* start of DRAM memory */
 
        addr_sp &= ~0x07;
        debug("New Stack Pointer is: %08lx\n", addr_sp);
 
-       gd->bd->bi_baudrate = gd->baudrate;
        /* Ram isn't board specific, so move it to board code ... */
        dram_init_banksize();
        display_dram_config();  /* and display it */
 
        unsigned long   bi_flashoffset; /* reserved area for startup monitor */
        unsigned long   bi_sramstart;   /* start of SRAM memory */
        unsigned long   bi_sramsize;    /* size  of SRAM memory */
-       unsigned int    bi_baudrate;    /* Console Baudrate */
 } bd_t;
 
 /* For image.h:image_check_target_arch() */
 
        bd->bi_sramstart = CONFIG_SYS_SRAM_BASE;
        bd->bi_sramsize = CONFIG_SYS_SRAM_SIZE;
 #endif
-       bd->bi_baudrate = CONFIG_BAUDRATE;
 
        for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
                WATCHDOG_RESET();
 
 #define _U_BOOT_H_
 
 typedef struct bd_info {
-       unsigned int    bi_baudrate;    /* serial console baudrate */
        unsigned long   bi_arch_number; /* unique id for this board */
        unsigned long   bi_boot_params; /* where this board expects params */
        unsigned long   bi_memstart;    /* start of DRAM memory */
 
        bd->bi_sramstart = CONFIG_SYS_SRAM_BASE;
        bd->bi_sramsize = CONFIG_SYS_SRAM_SIZE;
 #endif
-       bd->bi_baudrate = CONFIG_BAUDRATE;
 
        for (i = 0; i < ARRAY_SIZE(init_sequence); i++) {
                WATCHDOG_RESET();
 
 
 #ifdef CONFIG_CPM2
        do_fixup_by_compat_u32(blob, "fsl,cpm2-scc-uart",
-               "current-speed", bd->bi_baudrate, 1);
+               "current-speed", gd->baudrate, 1);
 
        do_fixup_by_compat_u32(blob, "fsl,cpm2-brg",
                "clock-frequency", bd->bi_brgfreq, 1);
 
        unsigned long   bi_ipbfreq;     /* IPB Bus Freq, in MHz */
        unsigned long   bi_pcifreq;     /* PCI Bus Freq, in MHz */
 #endif
-       unsigned int    bi_baudrate;    /* Console Baudrate */
 #if defined(CONFIG_405)   || \
     defined(CONFIG_405GP) || \
     defined(CONFIG_405EP) || \
 
        bd->bi_ipbfreq = gd->arch.ipb_clk;
        bd->bi_pcifreq = gd->pci_clk;
 #endif /* CONFIG_MPC5xxx */
-       bd->bi_baudrate = gd->baudrate; /* Console Baudrate     */
 
 #ifdef CONFIG_SYS_EXTBDINFO
        strncpy((char *) bd->bi_s_version, "1.2", sizeof(bd->bi_s_version));
 
        unsigned long   bi_flashoffset; /* reserved area for startup monitor */
        unsigned long   bi_sramstart;   /* start of SRAM memory */
        unsigned long   bi_sramsize;    /* size  of SRAM memory */
-       unsigned int    bi_baudrate;    /* Console Baudrate */
        unsigned long   bi_boot_params; /* where this board expects params */
 } bd_t;
 
 
        bd->bi_sramstart = CONFIG_SYS_SRAM_BASE;
        bd->bi_sramsize = CONFIG_SYS_SRAM_SIZE;
 #endif
-       bd->bi_baudrate = CONFIG_BAUDRATE;
 
        for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
                WATCHDOG_RESET();
 
        unsigned short bi_ethspeed;     /* Ethernet speed in Mbps */
        unsigned long bi_intfreq;       /* Internal Freq, in MHz */
        unsigned long bi_busfreq;       /* Bus Freq, in MHz */
-       unsigned int bi_baudrate;       /* Console Baudrate */
 } bd_t;
 
 #endif                         /* __ASSEMBLY__ */
 
        bd->bi_sramstart = CONFIG_SYS_SRAM_BASE;
        bd->bi_sramsize = CONFIG_SYS_SRAM_SIZE;
 #endif
-       bd->bi_baudrate = CONFIG_BAUDRATE;
        bd->bi_bootflags = bootflag;    /* boot / reboot flag (for LynxOS)    */
 
        gd->flags |= GD_FLG_RELOC;      /* tell others: relocation done */
 
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT)
+DECLARE_GLOBAL_DATA_PTR;
+
 /*
  * update "memory" property in the blob
  */
        /* baudrate */
        nodeoffset = fdt_path_offset (blob, "/soc/cpm/serial");
        if (nodeoffset >= 0) {
-               speed = cpu_to_be32 (bd->bi_baudrate);
+               speed = cpu_to_be32 (gd->baudrate);
                ret = fdt_setprop (blob, nodeoffset, "current-speed", &speed,
                                        sizeof (unsigned long));
        if (ret < 0)
 
        u32 BoardType = get_BoardType ();
        char *BoardName[2] = { "mvBlueBOX", "mvBlueLYNX" };
        char *p;
-       bd_t *bd = gd->bd;
 
        hw_watchdog_reset ();
 
        if ((p = getenv ("console_nr")) != NULL) {
                unsigned long con_nr = simple_strtoul (p, NULL, 10) & 3;
 
-               bd->bi_baudrate &= ~3;
-               bd->bi_baudrate |= con_nr & 3;
+               gd->baudrate &= ~3;
+               gd->baudrate |= con_nr & 3;
        }
        return 0;
 }
 
 }
 #endif
 
-static int setup_baud_rate(void)
-{
-       /* Ick, can we get rid of this line? */
-       gd->bd->bi_baudrate = gd->baudrate;
-
-       return 0;
-}
-
 static int setup_dram_config(void)
 {
        /* Ram is board specific, so move it to board code ... */
        INIT_FUNC_WATCHDOG_RESET
        setup_board_part2,
 #endif
-       setup_baud_rate,
        display_new_sp,
 #ifdef CONFIG_SYS_EXTBDINFO
        setup_board_extra,
 
        print_mhz("ethspeed",           bd->bi_ethspeed);
 #endif
        printf("IP addr     = %s\n", getenv("ipaddr"));
-       printf("baudrate    = %6u bps\n", bd->bi_baudrate);
+       printf("baudrate    = %6u bps\n", gd->baudrate);
        print_num("relocaddr", gd->relocaddr);
        board_detail();
        return 0;
        printf("ip_addr     = %s\n", getenv("ipaddr"));
 #endif
 
-       printf("baudrate    = %u bps\n", bd->bi_baudrate);
+       printf("baudrate    = %u bps\n", gd->baudrate);
 
        return 0;
 }
 #if defined(CONFIG_CMD_NET)
        print_eths();
 #endif
-       printf("baudrate    = %u bps\n", bd->bi_baudrate);
+       printf("baudrate    = %u bps\n", gd->baudrate);
        return 0;
 }
 
        print_eth(0);
        printf("ip_addr     = %s\n", getenv("ipaddr"));
 #endif
-       printf("baudrate               = %6u bps\n", bd->bi_baudrate);
+       printf("baudrate               = %6u bps\n", gd->baudrate);
        return 0;
 }
 
 
        printf("ip_addr     = %s\n", getenv("ipaddr"));
 #endif
-       printf("baudrate    = %u bps\n", bd->bi_baudrate);
+       printf("baudrate    = %u bps\n", gd->baudrate);
 
        return 0;
 }
 
        print_eth(0);
        printf("ip_addr     = %s\n", getenv("ipaddr"));
-       printf("baudrate    = %u bps\n", bd->bi_baudrate);
+       printf("baudrate    = %u bps\n", gd->baudrate);
 
        return 0;
 }
 
        print_eth(0);
        printf("ip_addr     = %s\n", getenv("ipaddr"));
-       printf("baudrate    = %u bps\n", bd->bi_baudrate);
+       printf("baudrate    = %u bps\n", gd->baudrate);
 
        return 0;
 }
 
        print_eth(0);
        printf("ip_addr     = %s\n", getenv("ipaddr"));
-       printf("baudrate    = %u bps\n", bd->bi_baudrate);
+       printf("baudrate    = %u bps\n", gd->baudrate);
 
        return 0;
 }
 #if defined(CONFIG_CMD_NET)
        print_eths();
 #endif
-       printf("baudrate    = %u bps\n", bd->bi_baudrate);
+       printf("baudrate    = %u bps\n", gd->baudrate);
 #if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF))
        print_num("TLB addr", gd->arch.tlb_addr);
 #endif
        print_eth(0);
        printf("ip_addr     = %s\n", getenv("ipaddr"));
 #endif
-       printf("baudrate    = %u bps\n", bd->bi_baudrate);
+       printf("baudrate    = %u bps\n", gd->baudrate);
        return 0;
 }
 
        printf("ip_addr     = %s\n", getenv("ipaddr"));
        print_mhz("ethspeed",       bd->bi_ethspeed);
 #endif
-       printf("baudrate    = %u bps\n", bd->bi_baudrate);
+       printf("baudrate    = %u bps\n", gd->baudrate);
 
        return 0;
 }
        print_eth(0);
        printf("ip_addr     = %s\n", getenv("ipaddr"));
 #endif
-       printf("baudrate    = %u bps\n", bd->bi_baudrate);
+       printf("baudrate    = %u bps\n", gd->baudrate);
 
        return 0;
 }
        printf("ip_addr     = %s\n", getenv("ipaddr"));
 #endif
 
-       printf("baudrate    = %u bps\n", bd->bi_baudrate);
+       printf("baudrate    = %u bps\n", gd->baudrate);
 
        return 0;
 }
        print_eth(0);
        printf("ip_addr     = %s\n", getenv("ipaddr"));
 #endif
-       printf("baudrate    = %d bps\n", bd->bi_baudrate);
+       printf("baudrate    = %d bps\n", gd->baudrate);
 
        return 0;
 }
 
                }
 
                gd->baudrate = baudrate;
-#if defined(CONFIG_PPC) || defined(CONFIG_MCF52x2)
-               gd->bd->bi_baudrate = baudrate;
-#endif
 
                serial_setbrg();
 
        unsigned char c;
        int ret, saved_baud, b;
        struct serial_device *saved_dev, *s;
-       bd_t *bd = gd->bd;
 
        /* Save current serial state */
        ret = 0;
        saved_dev = serial_current;
-       saved_baud = bd->bi_baudrate;
+       saved_baud = gd->baudrate;
 
        for (s = serial_devices; s; s = s->next) {
                /* If this driver doesn't support loop back, skip it */
 
                /* Test every available baud rate */
                for (b = 0; b < ARRAY_SIZE(bauds); ++b) {
-                       bd->bi_baudrate = bauds[b];
+                       gd->baudrate = bauds[b];
                        serial_setbrg();
 
                        /*
  done:
        /* Restore previous serial state */
        serial_current = saved_dev;
-       bd->bi_baudrate = saved_baud;
+       gd->baudrate = saved_baud;
        serial_reinit_all();
        serial_setbrg();
 
 
        unsigned long   bi_ipbfreq;     /* IPB Bus Freq, in MHz */
        unsigned long   bi_pcifreq;     /* PCI Bus Freq, in MHz */
 #endif
-       unsigned int    bi_baudrate;    /* Console Baudrate */
 #if defined(CONFIG_405)   || \
                defined(CONFIG_405GP) || \
                defined(CONFIG_405EP) || \