9
0
Fork 0

omap: Unify run_shell() in xload configuration

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@ti.com>
Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Sanjeev Premi 2011-10-12 16:33:50 +05:30 committed by Sascha Hauer
parent 6756cd2cb2
commit b2e9356130
5 changed files with 43 additions and 81 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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);
}