All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Schmoller <jschmoller@xes-inc.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC 0/2 v2] Remove CONFIG_SYS_MAXARGS
Date: Fri, 12 Mar 2010 13:25:29 -0600	[thread overview]
Message-ID: <cover.1268416692.git.jschmoller@xes-inc.com> (raw)

The first patch removes CONFIG_SYS_MAXARGS, replacing the staticly defined
array with a malloc'd array of the appropriate size. When a function has no
upper argument limit (ie, was set to CONFIG_SYS_MAXARGS), it is now set to 0
to indicate this fact.  Argument count is now unlimited, within reason and
malloc buffer size.

The second patch removes cmdtp->maxargs and moves the checks to the individual
command functions.  Since most functions do bounds checking anyway, it's a
a fairly cheap task (sometimes free) to remove this bounds check in
common/main.c.  In addition, it's more intuitive (in my opinion) if all bounds
checking is done in only one place for each function.  The second patch also
creates a CMD_ERR_USAGE return value, which prints usage when returned.  The
overall effect of this patch is to reduce code size by an average of 200-250
bytes and, I feel, make things a bit cleaner.

I'm looking for comments on these two patches as they are quite invasive, and
will definitly cause problems for those people who maintain their own code
out-of-tree.  They may also require an additional amount of testing.

Changes since v1:
 - Made 2/2 a subset of the changes of the real patch so it can be submitted
 to the mailing list and isn't too large.
 - Found a change in 2/2 that should have been in 1/2.

John Schmoller (2):
  cmd: Remove CONFIG_SYS_MAXARGS
  command: Remove maxargs from command structure

 board/amcc/makalu/cmd_pll.c                   |    2 +-
 board/esd/du440/du440.c                       |    4 +-
 board/fads/fads.h                             |    1 -
 board/freescale/common/pixis.c                |    4 +-
 board/freescale/mpc8610hpcd/mpc8610hpcd_diu.c |    2 +-
 board/pxa255_idp/pxa_idp.c                    |    2 +-
 common/cmd_boot.c                             |    2 +-
 common/cmd_bootm.c                            |    4 +-
 common/cmd_diag.c                             |    2 +-
 common/cmd_display.c                          |    2 +-
 common/cmd_echo.c                             |    2 +-
 common/cmd_eeprom.c                           |    7 +-
 common/cmd_elf.c                              |   18 ++++--
 common/cmd_help.c                             |    4 +-
 common/cmd_i2c.c                              |   75 +++++++++---------------
 common/cmd_mp.c                               |    2 +-
 common/cmd_nand.c                             |    2 +-
 common/cmd_nvedit.c                           |    8 +-
 common/cmd_onenand.c                          |    2 +-
 common/cmd_test.c                             |    6 +-
 common/command.c                              |   37 ++-----------
 common/hush.c                                 |   10 +--
 common/kgdb.c                                 |    2 +-
 common/lcd.c                                  |    5 +-
 common/main.c                                 |   58 ++++++++++++-------
 cpu/arm_cortexa8/mx51/clock.c                 |    2 +-
 cpu/mpc512x/diu.c                             |    2 +-
 cpu/mpc512x/iim.c                             |    2 +-
 include/command.h                             |   22 ++++---
 include/common.h                              |    4 +-
 30 files changed, 137 insertions(+), 158 deletions(-)

             reply	other threads:[~2010-03-12 19:25 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-12 19:25 John Schmoller [this message]
2010-03-12 19:25 ` [U-Boot] [RFC 1/2 v2] cmd: Remove CONFIG_SYS_MAXARGS John Schmoller
2010-03-12 19:25 ` [U-Boot] [RFC 2/2 v2] command: Remove maxargs from command structure John Schmoller
2010-03-12 20:58   ` Kim Phillips
2010-03-12 21:04     ` John Schmoller
2010-03-12 21:32       ` Kim Phillips
2010-04-09 21:04 ` [U-Boot] [RFC 0/2 v2] Remove CONFIG_SYS_MAXARGS Wolfgang Denk
2010-04-09 22:00   ` John Schmoller
2010-04-09 22:35     ` Wolfgang Denk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1268416692.git.jschmoller@xes-inc.com \
    --to=jschmoller@xes-inc.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.