[U-Boot] [PATCH 1/1 V3] cmd_bdinfo: move implementation to arch instead of common
Magnus Lilja
lilja.magnus at gmail.com
Sat Feb 21 10:13:53 CET 2009
Hi
Two minor code style comments.
2009/2/21 Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>:
> introduce two new weak functions board_bdinfo and cpu_bdinfo to allow
> board and cpu to print more information
>
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> Cc: Haavard Skinnemoen <haavard.skinnemoen at atmel.com>
> Cc: Mike Frysinger <vapier at gentoo.org>
> ---
> rebase for-next
> Precedent version
> Ack-by: Mike Frysinger <vapier at gentoo.org>
> Ack-by: Haavard Skinnemoen <haavard.skinnemoen at atmel.com>
> common/cmd_bdinfo.c | 455 ++++++++---------------------------------------
> include/bdinfo.h | 48 +++++
> lib_arm/Makefile | 1 +
> lib_arm/bdinfo.c | 53 ++++++
> lib_avr32/Makefile | 1 +
> lib_avr32/bdinfo.c | 47 +++++
> lib_blackfin/Makefile | 1 +
> lib_blackfin/bdinfo.c | 55 ++++++
> lib_i386/Makefile | 1 +
> lib_i386/bdinfo.c | 47 +++++
> lib_m68k/Makefile | 1 +
> lib_m68k/bdinfo.c | 75 ++++++++
> lib_microblaze/Makefile | 1 +
> lib_microblaze/bdinfo.c | 51 ++++++
> lib_mips/Makefile | 1 +
> lib_mips/bdinfo.c | 47 +++++
> lib_nios/Makefile | 1 +
> lib_nios/bdinfo.c | 46 +++++
> lib_nios2/Makefile | 1 +
> lib_nios2/bdinfo.c | 54 ++++++
> lib_ppc/Makefile | 1 +
> lib_ppc/bdinfo.c | 107 +++++++++++
> lib_sh/Makefile | 1 +
> lib_sh/bdinfo.c | 47 +++++
> lib_sparc/Makefile | 13 +-
> lib_sparc/bdinfo.c | 61 +++++++
> 26 files changed, 829 insertions(+), 388 deletions(-)
> rewrite common/cmd_bdinfo.c (88%)
> create mode 100644 include/bdinfo.h
> create mode 100644 lib_arm/bdinfo.c
> create mode 100644 lib_avr32/bdinfo.c
> create mode 100644 lib_blackfin/bdinfo.c
> create mode 100644 lib_i386/bdinfo.c
> create mode 100644 lib_m68k/bdinfo.c
> create mode 100644 lib_microblaze/bdinfo.c
> create mode 100644 lib_mips/bdinfo.c
> create mode 100644 lib_nios/bdinfo.c
> create mode 100644 lib_nios2/bdinfo.c
> create mode 100644 lib_ppc/bdinfo.c
> create mode 100644 lib_sh/bdinfo.c
> create mode 100644 lib_sparc/bdinfo.c
>
> diff --git a/common/cmd_bdinfo.c b/common/cmd_bdinfo.c
> dissimilarity index 88%
> index 700314b..75e5e83 100644
> --- a/common/cmd_bdinfo.c
> +++ b/common/cmd_bdinfo.c
> @@ -1,384 +1,71 @@
> -/*
> - * (C) Copyright 2003
> - * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
> - *
> - * See file CREDITS for list of people who contributed to this
> - * project.
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms of the GNU General Public License as
> - * published by the Free Software Foundation; either version 2 of
> - * the License, or (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, write to the Free Software
> - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> - * MA 02111-1307 USA
> - */
> -
> -/*
> - * Boot support
> - */
> -#include <common.h>
> -#include <command.h>
> -
> -DECLARE_GLOBAL_DATA_PTR;
> -
> -static void print_num(const char *, ulong);
> -
> -static void print_eth(int idx);
> -
> -#ifndef CONFIG_ARM /* PowerPC and other */
> -static void print_lnum(const char *, u64);
> -
> -#ifdef CONFIG_PPC
> -static void print_str(const char *, const char *);
> -
> -int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
> -{
> - bd_t *bd = gd->bd;
> - char buf[32];
> -
> -#ifdef DEBUG
> - print_num ("bd address", (ulong)bd );
> -#endif
> - print_num ("memstart", bd->bi_memstart );
> - print_lnum ("memsize", bd->bi_memsize );
> - print_num ("flashstart", bd->bi_flashstart );
> - print_num ("flashsize", bd->bi_flashsize );
> - print_num ("flashoffset", bd->bi_flashoffset );
> - print_num ("sramstart", bd->bi_sramstart );
> - print_num ("sramsize", bd->bi_sramsize );
> -#if defined(CONFIG_5xx) || defined(CONFIG_8xx) || \
> - defined(CONFIG_8260) || defined(CONFIG_E500)
> - print_num ("immr_base", bd->bi_immr_base );
> -#endif
> - print_num ("bootflags", bd->bi_bootflags );
> -#if defined(CONFIG_405GP) || defined(CONFIG_405CR) || \
> - defined(CONFIG_405EP) || defined(CONFIG_XILINX_405) || \
> - defined(CONFIG_440EP) || defined(CONFIG_440GR) || \
> - defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \
> - defined(CONFIG_440SP) || defined(CONFIG_440SPE)
> - print_str ("procfreq", strmhz(buf, bd->bi_procfreq));
> - print_str ("plb_busfreq", strmhz(buf, bd->bi_plb_busfreq));
> -#if defined(CONFIG_405GP) || defined(CONFIG_405EP) || defined(CONFIG_XILINX_405) || \
> - defined(CONFIG_440EP) || defined(CONFIG_440GR) || defined(CONFIG_440SPE) || \
> - defined(CONFIG_440EPX) || defined(CONFIG_440GRX)
> - print_str ("pci_busfreq", strmhz(buf, bd->bi_pci_busfreq));
> -#endif
> -#else /* ! CONFIG_405GP, CONFIG_405CR, CONFIG_405EP, CONFIG_XILINX_405, CONFIG_440EP CONFIG_440GR */
> -#if defined(CONFIG_CPM2)
> - print_str ("vco", strmhz(buf, bd->bi_vco));
> - print_str ("sccfreq", strmhz(buf, bd->bi_sccfreq));
> - print_str ("brgfreq", strmhz(buf, bd->bi_brgfreq));
> -#endif
> - print_str ("intfreq", strmhz(buf, bd->bi_intfreq));
> -#if defined(CONFIG_CPM2)
> - print_str ("cpmfreq", strmhz(buf, bd->bi_cpmfreq));
> -#endif
> - print_str ("busfreq", strmhz(buf, bd->bi_busfreq));
> -#endif /* CONFIG_405GP, CONFIG_405CR, CONFIG_405EP, CONFIG_XILINX_405, CONFIG_440EP CONFIG_440GR */
> -#if defined(CONFIG_MPC8220)
> - print_str ("inpfreq", strmhz(buf, bd->bi_inpfreq));
> - print_str ("flbfreq", strmhz(buf, bd->bi_flbfreq));
> - print_str ("pcifreq", strmhz(buf, bd->bi_pcifreq));
> - print_str ("vcofreq", strmhz(buf, bd->bi_vcofreq));
> - print_str ("pevfreq", strmhz(buf, bd->bi_pevfreq));
> -#endif
> -
> - print_eth(0);
> -#if defined(CONFIG_HAS_ETH1)
> - print_eth(1);
> -#endif
> -#if defined(CONFIG_HAS_ETH2)
> - print_eth(2);
> -#endif
> -#if defined(CONFIG_HAS_ETH3)
> - print_eth(3);
> -#endif
> -#if defined(CONFIG_HAS_ETH4)
> - print_eth(4);
> -#endif
> -#if defined(CONFIG_HAS_ETH5)
> - print_eth(5);
> -#endif
> -
> -#ifdef CONFIG_HERMES
> - print_str ("ethspeed", strmhz(buf, bd->bi_ethspeed));
> -#endif
> - printf ("IP addr = %pI4\n", &bd->bi_ip_addr);
> - printf ("baudrate = %6ld bps\n", bd->bi_baudrate );
> - return 0;
> -}
> -
> -#elif defined(CONFIG_NIOS) /* NIOS*/
> -
> -int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
> -{
> - bd_t *bd = gd->bd;
> -
> - print_num ("memstart", (ulong)bd->bi_memstart);
> - print_lnum ("memsize", (u64)bd->bi_memsize);
> - print_num ("flashstart", (ulong)bd->bi_flashstart);
> - print_num ("flashsize", (ulong)bd->bi_flashsize);
> - print_num ("flashoffset", (ulong)bd->bi_flashoffset);
> -
> - print_eth(0);
> - printf ("ip_addr = %pI4\n", &bd->bi_ip_addr);
> - printf ("baudrate = %ld bps\n", bd->bi_baudrate);
> -
> - return 0;
> -}
> -
> -#elif defined(CONFIG_NIOS2) /* Nios-II */
> -
> -int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
> -{
> - bd_t *bd = gd->bd;
> -
> - print_num ("mem start", (ulong)bd->bi_memstart);
> - print_lnum ("mem size", (u64)bd->bi_memsize);
> - print_num ("flash start", (ulong)bd->bi_flashstart);
> - print_num ("flash size", (ulong)bd->bi_flashsize);
> - print_num ("flash offset", (ulong)bd->bi_flashoffset);
> -
> -#if defined(CONFIG_SYS_SRAM_BASE)
> - print_num ("sram start", (ulong)bd->bi_sramstart);
> - print_num ("sram size", (ulong)bd->bi_sramsize);
> -#endif
> -
> -#if defined(CONFIG_CMD_NET)
> - print_eth(0);
> - printf ("ip_addr = %pI4\n", &bd->bi_ip_addr);
> -#endif
> -
> - printf ("baudrate = %ld bps\n", bd->bi_baudrate);
> -
> - return 0;
> -}
> -#elif defined(CONFIG_MICROBLAZE) /* ! PPC, which leaves Microblaze */
> -
> -int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
> -{
> - bd_t *bd = gd->bd;
> - print_num ("mem start ", (ulong)bd->bi_memstart);
> - print_lnum ("mem size ", (u64)bd->bi_memsize);
> - print_num ("flash start ", (ulong)bd->bi_flashstart);
> - print_num ("flash size ", (ulong)bd->bi_flashsize);
> - print_num ("flash offset ", (ulong)bd->bi_flashoffset);
> -#if defined(CONFIG_SYS_SRAM_BASE)
> - print_num ("sram start ", (ulong)bd->bi_sramstart);
> - print_num ("sram size ", (ulong)bd->bi_sramsize);
> -#endif
> -#if defined(CONFIG_CMD_NET)
> - print_eth(0);
> - printf ("ip_addr = %pI4\n", &bd->bi_ip_addr);
> -#endif
> - printf ("baudrate = %ld bps\n", (ulong)bd->bi_baudrate);
> - return 0;
> -}
> -
> -#elif defined(CONFIG_SPARC) /* SPARC */
> -int do_bdinfo(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
> -{
> - bd_t *bd = gd->bd;
> -
> -#ifdef DEBUG
> - print_num("bd address ", (ulong) bd);
> -#endif
> - print_num("memstart ", bd->bi_memstart);
> - print_lnum("memsize ", bd->bi_memsize);
> - print_num("flashstart ", bd->bi_flashstart);
> - print_num("CONFIG_SYS_MONITOR_BASE ", CONFIG_SYS_MONITOR_BASE);
> - print_num("CONFIG_ENV_ADDR ", CONFIG_ENV_ADDR);
> - printf("CONFIG_SYS_RELOC_MONITOR_BASE = 0x%lx (%d)\n", CONFIG_SYS_RELOC_MONITOR_BASE,
> - CONFIG_SYS_MONITOR_LEN);
> - printf("CONFIG_SYS_MALLOC_BASE = 0x%lx (%d)\n", CONFIG_SYS_MALLOC_BASE,
> - CONFIG_SYS_MALLOC_LEN);
> - printf("CONFIG_SYS_INIT_SP_OFFSET = 0x%lx (%d)\n", CONFIG_SYS_INIT_SP_OFFSET,
> - CONFIG_SYS_STACK_SIZE);
> - printf("CONFIG_SYS_PROM_OFFSET = 0x%lx (%d)\n", CONFIG_SYS_PROM_OFFSET,
> - CONFIG_SYS_PROM_SIZE);
> - printf("CONFIG_SYS_GBL_DATA_OFFSET = 0x%lx (%d)\n", CONFIG_SYS_GBL_DATA_OFFSET,
> - CONFIG_SYS_GBL_DATA_SIZE);
> -
> -#if defined(CONFIG_CMD_NET)
> - print_eth(0);
> - printf("ip_addr = %pI4\n", &bd->bi_ip_addr);
> -#endif
> - printf("baudrate = %6ld bps\n", bd->bi_baudrate);
> - return 0;
> -}
> -
> -#elif defined(CONFIG_M68K) /* M68K */
> -static void print_str(const char *, const char *);
> -
> -int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
> -{
> - bd_t *bd = gd->bd;
> - char buf[32];
> -
> - print_num ("memstart", (ulong)bd->bi_memstart);
> - print_lnum ("memsize", (u64)bd->bi_memsize);
> - print_num ("flashstart", (ulong)bd->bi_flashstart);
> - print_num ("flashsize", (ulong)bd->bi_flashsize);
> - print_num ("flashoffset", (ulong)bd->bi_flashoffset);
> -#if defined(CONFIG_SYS_INIT_RAM_ADDR)
> - print_num ("sramstart", (ulong)bd->bi_sramstart);
> - print_num ("sramsize", (ulong)bd->bi_sramsize);
> -#endif
> -#if defined(CONFIG_SYS_MBAR)
> - print_num ("mbar", bd->bi_mbar_base);
> -#endif
> - print_str ("cpufreq", strmhz(buf, bd->bi_intfreq));
> - print_str ("busfreq", strmhz(buf, bd->bi_busfreq));
> -#ifdef CONFIG_PCI
> - print_str ("pcifreq", strmhz(buf, bd->bi_pcifreq));
> -#endif
> -#ifdef CONFIG_EXTRA_CLOCK
> - print_str ("flbfreq", strmhz(buf, bd->bi_flbfreq));
> - print_str ("inpfreq", strmhz(buf, bd->bi_inpfreq));
> - print_str ("vcofreq", strmhz(buf, bd->bi_vcofreq));
> -#endif
> -#if defined(CONFIG_CMD_NET)
> - print_eth(0);
> -#if defined(CONFIG_HAS_ETH1)
> - print_eth(1);
> -#endif
> -#if defined(CONFIG_HAS_ETH2)
> - print_eth(2);
> -#endif
> -#if defined(CONFIG_HAS_ETH3)
> - print_eth(3);
> -#endif
> -
> - printf ("ip_addr = %pI4\n", &bd->bi_ip_addr);
> -#endif
> - printf ("baudrate = %ld bps\n", bd->bi_baudrate);
> -
> - return 0;
> -}
> -
> -#elif defined(CONFIG_BLACKFIN)
> -static void print_str(const char *, const char *);
> -
> -int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
> -{
> - bd_t *bd = gd->bd;
> - char buf[32];
> -
> - printf("U-Boot = %s\n", bd->bi_r_version);
> - printf("CPU = %s\n", bd->bi_cpu);
> - printf("Board = %s\n", bd->bi_board_name);
> - print_str("VCO", strmhz(buf, bd->bi_vco));
> - print_str("CCLK", strmhz(buf, bd->bi_cclk));
> - print_str("SCLK", strmhz(buf, bd->bi_sclk));
> -
> - print_num("boot_params", (ulong)bd->bi_boot_params);
> - print_num("memstart", (ulong)bd->bi_memstart);
> - print_lnum("memsize", (u64)bd->bi_memsize);
> - print_num("flashstart", (ulong)bd->bi_flashstart);
> - print_num("flashsize", (ulong)bd->bi_flashsize);
> - print_num("flashoffset", (ulong)bd->bi_flashoffset);
> -
> - print_eth(0);
> - printf("ip_addr = %pI4\n", &bd->bi_ip_addr);
> - printf("baudrate = %d bps\n", bd->bi_baudrate);
> -
> - return 0;
> -}
> -
> -#else /* ! PPC, which leaves MIPS */
> -
> -int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
> -{
> - bd_t *bd = gd->bd;
> -
> - print_num ("boot_params", (ulong)bd->bi_boot_params);
> - print_num ("memstart", (ulong)bd->bi_memstart);
> - print_lnum ("memsize", (u64)bd->bi_memsize);
> - print_num ("flashstart", (ulong)bd->bi_flashstart);
> - print_num ("flashsize", (ulong)bd->bi_flashsize);
> - print_num ("flashoffset", (ulong)bd->bi_flashoffset);
> -
> - print_eth(0);
> - printf ("ip_addr = %pI4\n", &bd->bi_ip_addr);
> - printf ("baudrate = %d bps\n", bd->bi_baudrate);
> -
> - return 0;
> -}
> -#endif /* MIPS */
> -
> -#else /* ARM */
> -
> -int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
> -{
> - int i;
> - bd_t *bd = gd->bd;
> -
> - print_num ("arch_number", bd->bi_arch_number);
> - print_num ("env_t", (ulong)bd->bi_env);
> - print_num ("boot_params", (ulong)bd->bi_boot_params);
> -
> - for (i=0; i<CONFIG_NR_DRAM_BANKS; ++i) {
> - print_num("DRAM bank", i);
> - print_num("-> start", bd->bi_dram[i].start);
> - print_num("-> size", bd->bi_dram[i].size);
> - }
> -
> -#if defined(CONFIG_CMD_NET)
> - print_eth(0);
> - printf ("ip_addr = %pI4\n", &bd->bi_ip_addr);
> -#endif
> - printf ("baudrate = %d bps\n", bd->bi_baudrate);
> -
> - return 0;
> -}
> -
> -#endif /* CONFIG_ARM XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
> -
> -static void print_num(const char *name, ulong value)
> -{
> - printf ("%-12s= 0x%08lX\n", name, value);
> -}
> -
> -static void print_eth(int idx)
> -{
> - char name[10], *val;
> - if (idx)
> - sprintf(name, "eth%iaddr", idx);
> - else
> - strcpy(name, "ethaddr");
> - val = getenv(name);
> - if (!val)
> - val = "(not set)";
> - printf("%-12s= %s\n", name, val);
> -}
> -
> -#ifndef CONFIG_ARM
> -static void print_lnum(const char *name, u64 value)
> -{
> - printf ("%-12s= 0x%.8llX\n", name, value);
> -}
> -#endif
> -
> -#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_BLACKFIN)
> -static void print_str(const char *name, const char *str)
> -{
> - printf ("%-12s= %6s MHz\n", name, str);
> -}
> -#endif /* CONFIG_PPC */
> -
> -
> -/* -------------------------------------------------------------------- */
> -
> -U_BOOT_CMD(
> - bdinfo, 1, 1, do_bdinfo,
> - "print Board Info structure",
> - NULL
> -);
> +/*
> + * (C) Copyright 2003
> + * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +
> +/*
> + * Boot support
> + */
> +#include <common.h>
> +#include <command.h>
> +#include <bdinfo.h>
> +
> +void board_bdinfo(cmd_tbl_t *, int, int, char **) __attribute__((weak));
> +void cpu_bdinfo(cmd_tbl_t *, int, int, char **) __attribute__((weak));
> +
> +int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
> +{
> + /* call arch bdinfo */
> + arch_bdinfo(cmdtp, flag, argc, argv);
> +
> + /* call soc bdinfo */
> + if(cpu_bdinfo) {
Space after if.
> + printf("CPU Info\n");
> + cpu_bdinfo(cmdtp, flag, argc, argv);
> + }
> +
> + /* call board bdinfo */
> + if(board_bdinfo) {
Space after if.
> + printf("Board Info\n");
> + board_bdinfo(cmdtp, flag, argc, argv);
> + }
> +
> + return 0;
> +}
Regards, Magnus
More information about the U-Boot
mailing list