All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v4 0/9] Unified command execution in one place
@ 2012-01-14  6:45 Simon Glass
  2012-01-14  6:45 ` [U-Boot] [PATCH v4 1/9] Remove CMD_PXE's static on run_command() Simon Glass
                   ` (8 more replies)
  0 siblings, 9 replies; 24+ messages in thread
From: Simon Glass @ 2012-01-14  6:45 UTC (permalink / raw)
  To: u-boot


At present two parsers have similar code to execute commands. Also
cmd_usage() is called all over the place. This series adds a single
function which processes commands called cmd_process().

This new function understands return codes, and in particular
CMD_RET_USAGE to indicate a usage error. So rather than calling
cmd_usage() themselves, the command handlers can just return this
error.

There appears to be a run_command2() which is used to run commands
with the selected parser. This series changes this in two separate
steps to just run_command(), and renames the old run_command() to
builtin_run_command(). No one should call this outside main.c since
if the hush parser is being used it is wrong to call it. The
built-in parser code could move into a separate file perhaps in a
future patch.

The overall series reduces code size on ARM by about 1KB on
my ~160KB U-Boot text region when the hush parser is used, and around
60 bytes when it isn't.

As an aside the only user of parse_line() is fsl_ddr_interactive()
which seems to have its own command line interface which operates
before DRAM is set up. Do I have this right? Is there no way this
could be done later from a normal U-Boot command?

(I have run this through MAKEALL and it seems clean)

Changes in v2:
- Fix minor errors one of which created a warning
- Squash i2c patch into the common/ patch

Changes in v3:
- Rebase to master

Changes in v4:
- Minor comment change for call to builtin_run_command()
- Add a 'repeatable' parameter to cmd_process()
- Rationalise return codes to 0, 1 and usage
- Make cmd_process() return only success (0) or failure (1)

Simon Glass (9):
  Remove CMD_PXE's static on run_command()
  Rename run_command() to builtin_run_command()
  Rename run_command2() to run_command()
  Stop using builtin_run_command()
  Don't include standard parser if hush is used
  Create a single cmd_call() function to handle command execution
  Remove interleave of non-U-Boot code in hush
  Add cmd_process() to process commands in one place
  Convert cmd_usage() calls in common to use a return value

 arch/arm/cpu/arm926ejs/kirkwood/cpu.c |    7 +--
 board/esd/common/cmd_loadpci.c        |    2 +-
 board/esd/du440/du440.c               |    2 +-
 common/cmd_bedbug.c                   |    6 +-
 common/cmd_bmp.c                      |    6 +-
 common/cmd_boot.c                     |    2 +-
 common/cmd_bootm.c                    |   10 +---
 common/cmd_cache.c                    |    4 +-
 common/cmd_dataflash_mmc_mux.c        |    2 +-
 common/cmd_date.c                     |    3 +-
 common/cmd_dcr.c                      |    8 ++--
 common/cmd_df.c                       |    2 +-
 common/cmd_eeprom.c                   |    2 +-
 common/cmd_ext2.c                     |    4 +-
 common/cmd_fdc.c                      |    2 +-
 common/cmd_fdos.c                     |    2 +-
 common/cmd_fdt.c                      |   14 +++---
 common/cmd_fitupd.c                   |    2 +-
 common/cmd_flash.c                    |   14 +++---
 common/cmd_fpga.c                     |    4 +-
 common/cmd_gpio.c                     |    2 +-
 common/cmd_i2c.c                      |   32 ++++++------
 common/cmd_ide.c                      |   10 ++--
 common/cmd_irq.c                      |    2 +-
 common/cmd_itest.c                    |    2 +-
 common/cmd_led.c                      |    6 +-
 common/cmd_load.c                     |    2 +-
 common/cmd_log.c                      |    4 +-
 common/cmd_md5sum.c                   |    2 +-
 common/cmd_mdio.c                     |    2 +-
 common/cmd_mem.c                      |   22 ++++----
 common/cmd_mfsl.c                     |   10 ++--
 common/cmd_mgdisk.c                   |    2 +-
 common/cmd_mii.c                      |    4 +-
 common/cmd_misc.c                     |    2 +-
 common/cmd_mmc.c                      |   14 +++---
 common/cmd_mmc_spi.c                  |    3 +-
 common/cmd_mp.c                       |    8 ++--
 common/cmd_mtdparts.c                 |    2 +-
 common/cmd_nand.c                     |    6 +-
 common/cmd_net.c                      |    6 +-
 common/cmd_nvedit.c                   |   22 ++++----
 common/cmd_onenand.c                  |   12 ++--
 common/cmd_otp.c                      |    2 +-
 common/cmd_pci.c                      |    2 +-
 common/cmd_portio.c                   |    4 +-
 common/cmd_pxe.c                      |   10 ++--
 common/cmd_reiser.c                   |    4 +-
 common/cmd_sata.c                     |    8 ++--
 common/cmd_scsi.c                     |   15 +++---
 common/cmd_setexpr.c                  |    2 +-
 common/cmd_sf.c                       |    2 +-
 common/cmd_sha1sum.c                  |    2 +-
 common/cmd_source.c                   |    2 +-
 common/cmd_strings.c                  |    2 +-
 common/cmd_time.c                     |    4 +-
 common/cmd_ubi.c                      |    4 +-
 common/cmd_ubifs.c                    |   10 ++--
 common/cmd_unzip.c                    |    2 +-
 common/cmd_usb.c                      |    6 +-
 common/command.c                      |   60 ++++++++++++++++++++
 common/hush.c                         |   69 ++++++-----------------
 common/main.c                         |   97 ++++++++++-----------------------
 include/command.h                     |   32 +++++++++++
 include/common.h                      |    5 +--
 65 files changed, 313 insertions(+), 306 deletions(-)

-- 
1.7.7.3

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2012-02-15 22:15 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-14  6:45 [U-Boot] [PATCH v4 0/9] Unified command execution in one place Simon Glass
2012-01-14  6:45 ` [U-Boot] [PATCH v4 1/9] Remove CMD_PXE's static on run_command() Simon Glass
2012-01-14  6:45 ` [U-Boot] [PATCH v4 2/9] Rename run_command() to builtin_run_command() Simon Glass
2012-02-05  3:19   ` Mike Frysinger
2012-02-14 22:32     ` Simon Glass
2012-01-14  6:45 ` [U-Boot] [PATCH v4 3/9] Rename run_command2() to run_command() Simon Glass
2012-01-14  6:45 ` [U-Boot] [PATCH v4 4/9] Stop using builtin_run_command() Simon Glass
2012-01-21 16:07   ` Michael Walle
2012-02-14 22:42     ` Simon Glass
2012-02-15  6:05       ` Simon Glass
2012-02-15 19:44         ` Michael Walle
2012-02-15 22:15           ` Simon Glass
2012-02-05  3:23   ` Mike Frysinger
2012-02-14 22:40     ` Simon Glass
2012-01-14  6:45 ` [U-Boot] [PATCH v4 5/9] Don't include standard parser if hush is used Simon Glass
2012-02-05  3:20   ` Mike Frysinger
2012-02-14 22:33     ` Simon Glass
2012-01-14  6:45 ` [U-Boot] [PATCH v4 6/9] Create a single cmd_call() function to handle command execution Simon Glass
2012-02-05  3:22   ` Mike Frysinger
2012-02-14 22:38     ` Simon Glass
2012-01-14  6:45 ` [U-Boot] [PATCH v4 7/9] Remove interleave of non-U-Boot code in hush Simon Glass
2012-02-05  3:25   ` Mike Frysinger
2012-01-14  6:45 ` [U-Boot] [PATCH v4 8/9] Add cmd_process() to process commands in one place Simon Glass
2012-01-14  6:45 ` [U-Boot] [PATCH v4 9/9] Convert cmd_usage() calls in common to use a return value Simon Glass

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.