[PATCH v3] omap: Unify run_shell() in xload configuration
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Fri Nov 11 05:43:34 EST 2011
On 16:33 Wed 12 Oct , Sanjeev Premi wrote:
> Currently, there are multiple definitions of run_shell()
> for each board that can be build in "xload" configuration.
> Now there is only one function used by all boards.
>
> The functions defined in xload.c are used only when "xload"
> configuration used; but it gets compiled unconditionally.
> This has been fixed as well.
>
> Signed-off-by: Sanjeev Premi <premi at ti.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
Best Regards,
J.
> ---
>
> Change in v3:
> Added function omap_bootsrc() to replace the #ifdef
> around the switch-case.
>
> Change in v2:
> Fixed the typo in the subject s/iomap/omap/
> ...observed when mail reached my inbox :(
>
> Only build tested with these commands:
> make distclean ; make omap3530_beagle_defconfig ; make ;
> make distclean ; make omap3530_beagle_xload_defconfig ; make ;
> make distclean ; make panda_xload_defconfig ; make ;
> make distclean ; make panda_defconfig ; make ;
> make distclean ; make pcm049_defconfig ; make ;
> make distclean ; make pcm049_xload_defconfig ; make ;
>
>
> arch/arm/boards/omap/board-beagle.c | 31 --------------------------
> arch/arm/boards/panda/board.c | 19 ----------------
> arch/arm/boards/pcm049/board.c | 30 -------------------------
> arch/arm/mach-omap/Makefile | 3 +-
> arch/arm/mach-omap/xload.c | 41 +++++++++++++++++++++++++++++++++++
> 5 files changed, 43 insertions(+), 81 deletions(-)
>
> diff --git a/arch/arm/boards/omap/board-beagle.c b/arch/arm/boards/omap/board-beagle.c
> index 4e7f179..bcebd5c 100644
> --- a/arch/arm/boards/omap/board-beagle.c
> +++ b/arch/arm/boards/omap/board-beagle.c
> @@ -313,34 +313,3 @@ static int beagle_devices_init(void)
> return 0;
> }
> device_initcall(beagle_devices_init);
> -
> -#ifdef CONFIG_SHELL_NONE
> -
> -int run_shell(void)
> -{
> - int (*func)(void) = NULL;
> -
> - switch (omap3_bootsrc()) {
> - case OMAP_BOOTSRC_MMC1:
> - printf("booting from MMC1\n");
> - func = omap_xload_boot_mmc();
> - break;
> - case OMAP_BOOTSRC_UNKNOWN:
> - printf("unknown boot source. Fall back to nand\n");
> - case OMAP_BOOTSRC_NAND:
> - printf("booting from NAND\n");
> - func = omap_xload_boot_nand(SZ_128K, SZ_256K);
> - break;
> - }
> -
> - if (!func) {
> - printf("booting failed\n");
> - while (1);
> - }
> -
> - shutdown_barebox();
> - func();
> -
> - while (1);
> -}
> -#endif
> diff --git a/arch/arm/boards/panda/board.c b/arch/arm/boards/panda/board.c
> index 33ec144..cfc5bb9 100644
> --- a/arch/arm/boards/panda/board.c
> +++ b/arch/arm/boards/panda/board.c
> @@ -170,22 +170,3 @@ static int panda_env_init(void)
> }
> late_initcall(panda_env_init);
> #endif
> -
> -
> -#ifdef CONFIG_SHELL_NONE
> -int run_shell(void)
> -{
> - int (*func)(void);
> -
> - func = omap_xload_boot_mmc();
> - if (!func) {
> - printf("booting failed\n");
> - while (1);
> - }
> -
> - shutdown_barebox();
> - func();
> -
> - while (1);
> -}
> -#endif
> diff --git a/arch/arm/boards/pcm049/board.c b/arch/arm/boards/pcm049/board.c
> index 3d02779..6814b59 100644
> --- a/arch/arm/boards/pcm049/board.c
> +++ b/arch/arm/boards/pcm049/board.c
> @@ -112,33 +112,3 @@ static int pcm049_devices_init(void)
> return 0;
> }
> device_initcall(pcm049_devices_init);
> -
> -#ifdef CONFIG_SHELL_NONE
> -int run_shell(void)
> -{
> - int (*func)(void) = NULL;
> -
> - switch (omap4_bootsrc()) {
> - case OMAP_BOOTSRC_MMC1:
> - printf("booting from MMC1\n");
> - func = omap_xload_boot_mmc();
> - break;
> - case OMAP_BOOTSRC_UNKNOWN:
> - printf("unknown boot source. Fall back to nand\n");
> - case OMAP_BOOTSRC_NAND:
> - printf("booting from NAND\n");
> - func = omap_xload_boot_nand(SZ_128K, SZ_256K);
> - break;
> - }
> -
> - if (!func) {
> - printf("booting failed\n");
> - while (1);
> - }
> -
> - shutdown_barebox();
> - func();
> -
> - while (1);
> -}
> -#endif
> diff --git a/arch/arm/mach-omap/Makefile b/arch/arm/mach-omap/Makefile
> index 7204746..07bf30a 100644
> --- a/arch/arm/mach-omap/Makefile
> +++ b/arch/arm/mach-omap/Makefile
> @@ -25,4 +25,5 @@ obj-$(CONFIG_ARCH_OMAP3) += omap3_core.o omap3_generic.o
> obj-$(CONFIG_ARCH_OMAP4) += omap4_generic.o omap4_clock.o
> obj-$(CONFIG_OMAP3_CLOCK_CONFIG) += omap3_clock_core.o omap3_clock.o
> obj-$(CONFIG_OMAP_GPMC) += gpmc.o devices-gpmc-nand.o
> -obj-y += gpio.o xload.o
> +obj-$(CONFIG_SHELL_NONE) += xload.o
> +obj-y += gpio.o
> diff --git a/arch/arm/mach-omap/xload.c b/arch/arm/mach-omap/xload.c
> index 216b9b5..a52a8ba 100644
> --- a/arch/arm/mach-omap/xload.c
> +++ b/arch/arm/mach-omap/xload.c
> @@ -52,3 +52,44 @@ void *omap_xload_boot_mmc(void)
>
> return buf;
> }
> +
> +enum omap_boot_src omap_bootsrc(void)
> +{
> +#if defined(CONFIG_ARCH_OMAP3)
> + return omap3_bootsrc();
> +#elif defined(CONFIG_ARCH_OMAP4)
> + return omap4_bootsrc();
> +#endif
> +}
> +
> +/*
> + * Replaces the default shell in xload configuration
> + */
> +int run_shell(void)
> +{
> + int (*func)(void) = NULL;
> +
> + switch (omap_bootsrc())
> + {
> + case OMAP_BOOTSRC_MMC1:
> + printf("booting from MMC1\n");
> + func = omap_xload_boot_mmc();
> + break;
> + case OMAP_BOOTSRC_UNKNOWN:
> + printf("unknown boot source. Fall back to nand\n");
> + case OMAP_BOOTSRC_NAND:
> + printf("booting from NAND\n");
> + func = omap_xload_boot_nand(SZ_128K, SZ_256K);
> + break;
> + }
> +
> + if (!func) {
> + printf("booting failed\n");
> + while (1);
> + }
> +
> + shutdown_barebox();
> + func();
> +
> + while (1);
> +}
> --
> 1.7.0.4
>
>
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
More information about the barebox
mailing list