[PATCH 31/36] bdinfo: ppc: Move PPC-specific info into its own file
Stefan Roese
sr at denx.de
Wed May 6 17:10:15 CEST 2020
On 05.05.20 01:17, Simon Glass wrote:
> We don't really want to have PPC-specific code in a generic file. Create
> a new arch-specific function to hold it, and move it into that.
>
> Make the function weak so that any arch can implement it.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
Reviewed-by: Stefan Roese <sr at denx.de>
Thanks,
Stefan
> ---
>
> arch/powerpc/lib/Makefile | 2 ++
> arch/powerpc/lib/bdinfo.c | 41 +++++++++++++++++++++++++++++++++++++++
> cmd/bdinfo.c | 27 --------------------------
> 3 files changed, 43 insertions(+), 27 deletions(-)
> create mode 100644 arch/powerpc/lib/bdinfo.c
>
> diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile
> index 01c9dd51be..f61809ab05 100644
> --- a/arch/powerpc/lib/Makefile
> +++ b/arch/powerpc/lib/Makefile
> @@ -15,6 +15,8 @@ MINIMAL=y
> endif
> endif
>
> +obj-y += bdinfo.o
> +
> ifdef MINIMAL
> obj-y += cache.o time.o
> ifndef CONFIG_TIMER
> diff --git a/arch/powerpc/lib/bdinfo.c b/arch/powerpc/lib/bdinfo.c
> new file mode 100644
> index 0000000000..da09bb276f
> --- /dev/null
> +++ b/arch/powerpc/lib/bdinfo.c
> @@ -0,0 +1,41 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * PPC-specific information for the 'bd' command
> + *
> + * (C) Copyright 2003
> + * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
> + */
> +
> +#include <common.h>
> +#include <init.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +void __weak board_detail(void)
> +{
> + /* Please define board_detail() for your PPC platform */
> +}
> +
> +void arch_print_bdinfo(void)
> +{
> + bd_t *bd = gd->bd;
> +
> +#if defined(CONFIG_MPC8xx) || defined(CONFIG_E500)
> + bdinfo_print_num("immr_base", bd->bi_immr_base);
> +#endif
> + bdinfo_print_num("bootflags", bd->bi_bootflags);
> + bdinfo_print_mhz("intfreq", bd->bi_intfreq);
> +#ifdef CONFIG_ENABLE_36BIT_PHYS
> + if (IS_ENABLED(CONFIG_PHYS_64BIT))
> + puts("addressing = 36-bit\n");
> + else
> + puts("addressing = 32-bit\n");
> +#endif
> + board_detail();
> +#if defined(CONFIG_CPM2)
> + bdinfo_print_mhz("cpmfreq", bd->bi_cpmfreq);
> + bdinfo_print_mhz("vco", bd->bi_vco);
> + bdinfo_print_mhz("sccfreq", bd->bi_sccfreq);
> + bdinfo_print_mhz("brgfreq", bd->bi_brgfreq);
> +#endif
> +}
> diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c
> index 55a9244aef..570022052c 100644
> --- a/cmd/bdinfo.c
> +++ b/cmd/bdinfo.c
> @@ -60,11 +60,6 @@ static void print_bi_dram(const bd_t *bd)
> #endif
> }
>
> -void __weak board_detail(void)
> -{
> - /* Please define board_detail() for your PPC platform */
> -}
> -
> __weak void arch_print_bdinfo(void)
> {
> }
> @@ -103,28 +98,6 @@ int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
>
> arch_print_bdinfo();
>
> - /* This section is used only by ppc */
> -#if defined(CONFIG_MPC8xx) || defined(CONFIG_E500)
> - bdinfo_print_num("immr_base", bd->bi_immr_base);
> -#endif
> - if (IS_ENABLED(CONFIG_PPC)) {
> - bdinfo_print_num("bootflags", bd->bi_bootflags);
> - bdinfo_print_mhz("intfreq", bd->bi_intfreq);
> -#ifdef CONFIG_ENABLE_36BIT_PHYS
> - if (IS_ENABLED(CONFIG_PHYS_64BIT))
> - puts("addressing = 36-bit\n");
> - else
> - puts("addressing = 32-bit\n");
> -#endif
> - board_detail();
> - }
> -#if defined(CONFIG_CPM2)
> - bdinfo_print_mhz("cpmfreq", bd->bi_cpmfreq);
> - bdinfo_print_mhz("vco", bd->bi_vco);
> - bdinfo_print_mhz("sccfreq", bd->bi_sccfreq);
> - bdinfo_print_mhz("brgfreq", bd->bi_brgfreq);
> -#endif
> -
> /* This is used by m68k and ppc */
> #if defined(CONFIG_SYS_INIT_RAM_ADDR)
> bdinfo_print_num("sramstart", (ulong)bd->bi_sramstart);
>
Viele Grüße,
Stefan
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de
More information about the U-Boot
mailing list