> - > - 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..ac859fa 100644 > --- a/arch/arm/mach-omap/xload.c > +++ b/arch/arm/mach-omap/xload.c > @@ -52,3 +52,39 @@ void *omap_xload_boot_mmc(void) > > return buf; > } > + > +/* > + * Replaces the default shell in xload configuration > + */ > +int run_shell(void) > +{ > + int (*func)(void) = NULL; > + > +#if defined(CONFIG_ARCH_OMAP3) > + switch (omap3_bootsrc()) > +#elif defined(CONFIG_ARCH_OMAP4) > + switch (omap4_bootsrc()) > +#endif I really don't like this please create a small local station like this to manage the OMAPx static u32 omap_bootsrc(void) { #if defined(CONFIG_ARCH_OMAP3) return omap3_bootsrc()) #elif defined(CONFIG_ARCH_OMAP4) return omap4_bootsrc()) switch (omap4_bootsrc()) #endif } and then switch (omap_bootsrc()) { Best Regards, J. _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox