A previous series created a way of using if () instead of #ifdef for controlling feature inclusion in U-Boot. The primary target of that series was common/main.c which is full of #ifdefs. That work was put on hold while the kbuild work was in progress.
Since kbuild is now complete, it is time to take another look. However, in the meantime main.c has not improved. It seems like a good idea to try to split the code out a bit, to make it more obvious what is happening in the U-Boot start-up. This series splits main into two main program and a CLI (Command-line interpreter) parts. There are two CLIs - hush and simple, and each is put in its own file, with a new cli.c to unify them. New files are also created for autoboot and bootretry functionality. Overall this series makes it easier to read what is happening in main.c, and also clarifies the parser code. Simon Glass (14): Remove unnecessary use of hush header file Rename hush to cli_hush move CLI prototypes to cli.h and add comments Split out simple parser and readline into separate files Add cli_ prefix to readline functions Move autoboot code to autoboot.c Move command line API into cli.c Move bootretry code into bootretry.c and clean up Rename bootretry functions and remove #ifdefs m68k: powerpc: Clean up do_mdm_init Simplify the main loop main: Hide the hush/simple details inside cli.c main: Make the execution path a little clearer in main.c main: Avoid unncessary strdup()/free() arch/arm/cpu/arm926ejs/kirkwood/cpu.c | 1 - arch/arm/cpu/arm926ejs/orion5x/cpu.c | 1 - arch/m68k/lib/board.c | 7 - arch/powerpc/lib/board.c | 8 - board/ait/cam_enc_4xx/cam_enc_4xx.c | 4 +- board/amcc/yucca/cmd_yucca.c | 21 +- board/eltec/elppc/misc.c | 15 +- board/eltec/mhpc/mhpc.c | 13 +- board/hymod/hymod.c | 8 +- board/hymod/input.c | 14 +- board/keymile/common/common.c | 2 +- board/keymile/common/ivm.c | 2 +- board/mcc200/auto_update.c | 7 +- common/Makefile | 20 +- common/autoboot.c | 303 +++++++ common/board_r.c | 14 - common/bootretry.c | 59 ++ common/cli.c | 194 +++++ common/{hush.c => cli_hush.c} | 17 +- common/cli_readline.c | 621 ++++++++++++++ common/cli_simple.c | 337 ++++++++ common/cmd_bedbug.c | 29 +- common/cmd_bootm.c | 4 - common/cmd_bootmenu.c | 1 - common/cmd_dcr.c | 3 +- common/cmd_i2c.c | 17 +- common/cmd_mem.c | 17 +- common/cmd_nvedit.c | 5 +- common/cmd_pci.c | 13 +- common/main.c | 1527 +-------------------------------- common/menu.c | 6 +- drivers/ddr/fsl/interactive.c | 8 +- include/autoboot.h | 47 + include/bootretry.h | 59 ++ include/cli.h | 149 ++++ include/{hush.h => cli_hush.h} | 4 +- include/common.h | 7 +- 37 files changed, 1917 insertions(+), 1647 deletions(-) create mode 100644 common/autoboot.c create mode 100644 common/bootretry.c create mode 100644 common/cli.c rename common/{hush.c => cli_hush.c} (99%) create mode 100644 common/cli_readline.c create mode 100644 common/cli_simple.c create mode 100644 include/autoboot.h create mode 100644 include/bootretry.h create mode 100644 include/cli.h rename include/{hush.h => cli_hush.h} (93%) -- 1.9.1.423.g4596e3a _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot