Skip to contentSkip to conversation

Make sure that argv[] argument pointers are not modified.

PATCH New Wolfgang Denk 2 participants 6 messages Jun 29, 2010 – Jul 4, 2010

Subsystems (14)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Make sure that argv[] argument pointers are not modified.

The hush shell dynamically allocates (and re-allocates) memory for the argument strings in the "char *argv[]" argument vector passed to commands. Any code that modifies these pointers will cause serious corruption of the malloc data structures and crash U-Boot, so make sure the compiler can check that no such modifications are being done by changing the code into "char * const argv[]".

This modification is the result of debugging a strange crash caused after adding a new command, which used the following argument processing code which has been working perfectly fine in all Unix systems since version 6 - but not so in U-Boot:

int main (int argc, char **argv)

{
	while (--argc > 0 && **++argv == '-') {
/* ====> */	while (*++*argv) {
			switch (**argv) {
			case 'd':
				debug++;
				break;
			...
			default:
				usage ();
			}
		}
	}
	...
}

The line marked "====>" will corrupt the malloc data structures and usually cause U-Boot to crash when the next command gets executed by the shell. With the modification, the compiler will prevent this with an
error: increment of read-only location '*argv'

N.B.: The code above can be trivially rewritten like this:

	while (--argc > 0 && **++argv == '-') {
		char *arg = *argv;
		while (*++arg) {
			switch (*arg) {
			...
---
 api/api.c                                     |    2 +-
 arch/arm/cpu/arm_cortexa8/mx51/clock.c        |    2 +-
 arch/arm/cpu/arm_cortexa8/omap3/board.c       |    2 +-
 arch/arm/lib/bootm.c                          |    2 +-
 arch/arm/lib/reset.c                          |    2 +-
 arch/avr32/cpu/cpu.c                          |    2 +-
 arch/avr32/lib/bootm.c                        |    2 +-
 arch/blackfin/cpu/bootrom-asm-offsets.c.in    |    2 +-
 arch/blackfin/cpu/reset.c                     |    2 +-
 arch/blackfin/lib/boot.c                      |    2 +-
 arch/blackfin/lib/cmd_cache_dump.c            |    4 +-
 arch/blackfin/lib/kgdb.c                      |    2 +-
 arch/i386/cpu/cpu.c                           |    2 +-
 arch/i386/lib/board.c                         |    2 +-
 arch/i386/lib/bootm.c                         |    2 +-
 arch/i386/lib/interrupts.c                    |    2 +-
 arch/i386/lib/zimage.c                        |    2 +-
 arch/m68k/cpu/mcf5227x/cpu.c                  |    2 +-
 arch/m68k/cpu/mcf523x/cpu.c                   |    2 +-
 arch/m68k/cpu/mcf52x2/cpu.c                   |   14 ++++----
 arch/m68k/cpu/mcf532x/cpu.c                   |    2 +-
 arch/m68k/cpu/mcf5445x/cpu.c                  |    2 +-
 arch/m68k/cpu/mcf547x_8x/cpu.c                |    2 +-
 arch/m68k/lib/bootm.c                         |    2 +-
 arch/microblaze/cpu/interrupts.c              |    4 +-
 arch/microblaze/lib/bootm.c                   |    2 +-
 arch/mips/cpu/cpu.c                           |    2 +-
 arch/mips/lib/bootm.c                         |    2 +-
 arch/mips/lib/bootm_qemu_mips.c               |    2 +-
 arch/nios2/cpu/epcs.c                         |   14 ++++----
 arch/nios2/cpu/interrupts.c                   |    2 +-
 arch/nios2/cpu/sysid.c                        |    2 +-
 arch/nios2/lib/bootm.c                        |    2 +-
 arch/powerpc/cpu/74xx_7xx/cpu.c               |    2 +-
 arch/powerpc/cpu/74xx_7xx/interrupts.c        |    2 +-
 arch/powerpc/cpu/mpc512x/cpu.c                |    2 +-
 arch/powerpc/cpu/mpc512x/diu.c                |    2 +-
 arch/powerpc/cpu/mpc512x/iim.c                |    2 +-
 arch/powerpc/cpu/mpc512x/speed.c              |    2 +-
 arch/powerpc/cpu/mpc5xx/cpu.c                 |    2 +-
 arch/powerpc/cpu/mpc5xx/interrupts.c          |    2 +-
 arch/powerpc/cpu/mpc5xxx/cpu.c                |    2 +-
 arch/powerpc/cpu/mpc5xxx/interrupts.c         |    2 +-
 arch/powerpc/cpu/mpc8220/cpu.c                |    2 +-
 arch/powerpc/cpu/mpc8220/interrupts.c         |    2 +-
 arch/powerpc/cpu/mpc824x/cpu.c                |    2 +-
 arch/powerpc/cpu/mpc8260/bedbug_603e.c        |    4 +-
 arch/powerpc/cpu/mpc8260/cpu.c                |    2 +-
 arch/powerpc/cpu/mpc8260/interrupts.c         |    2 +-
 arch/powerpc/cpu/mpc83xx/cpu.c                |    2 +-
 arch/powerpc/cpu/mpc83xx/ecc.c                |    2 +-
 arch/powerpc/cpu/mpc83xx/interrupts.c         |    2 +-
 arch/powerpc/cpu/mpc83xx/speed.c              |    2 +-
 arch/powerpc/cpu/mpc85xx/cpu.c                |    2 +-
 arch/powerpc/cpu/mpc85xx/interrupts.c         |    2 +-
 arch/powerpc/cpu/mpc85xx/mp.c                 |    2 +-
 arch/powerpc/cpu/mpc86xx/cpu.c                |    2 +-
 arch/powerpc/cpu/mpc86xx/interrupts.c         |    2 +-
 arch/powerpc/cpu/mpc86xx/mp.c                 |    2 +-
 arch/powerpc/cpu/mpc8xx/bedbug_860.c          |    4 +-
 arch/powerpc/cpu/mpc8xx/cpu.c                 |    4 +-
 arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c        |    2 +-
 arch/powerpc/cpu/ppc4xx/bedbug_405.c          |    4 +-
 arch/powerpc/cpu/ppc4xx/cmd_chip_config.c     |    2 +-
 arch/powerpc/cpu/ppc4xx/cpu.c                 |    2 +-
 arch/powerpc/cpu/ppc4xx/interrupts.c          |    2 +-
 arch/powerpc/lib/bootm.c                      |    4 +-
 arch/powerpc/lib/kgdb.c                       |    2 +-
 arch/sh/cpu/sh2/cpu.c                         |    2 +-
 arch/sh/cpu/sh3/cpu.c                         |    2 +-
 arch/sh/cpu/sh4/cpu.c                         |    2 +-
 arch/sh/lib/bootm.c                           |    2 +-
 arch/sparc/cpu/leon2/cpu.c                    |    2 +-
 arch/sparc/cpu/leon2/interrupts.c             |    2 +-
 arch/sparc/cpu/leon3/cpu.c                    |    2 +-
 arch/sparc/cpu/leon3/interrupts.c             |    2 +-
 arch/sparc/include/asm/prom.h                 |    2 +-
 arch/sparc/lib/board.c                        |    2 +-
 arch/sparc/lib/bootm.c                        |    2 +-
 board/BuS/EB+MCF-EV123/EB+MCF-EV123.c         |    2 +-
 board/BuS/eb_cpux9k2/cpux9k2.c                |    2 +-
 board/amcc/acadia/cmd_acadia.c                |    2 +-
 board/amcc/luan/luan.c                        |    2 +-
 board/amcc/makalu/cmd_pll.c                   |    2 +-
 board/amcc/taihu/lcd.c                        |    8 ++--
 board/amcc/taihu/taihu.c                      |    4 +-
 board/amcc/taihu/update.c                     |    2 +-
 board/amcc/taishan/lcd.c                      |   14 ++++----
 board/amcc/taishan/showinfo.c                 |    6 ++--
 board/amcc/taishan/update.c                   |    2 +-
 board/amcc/yucca/cmd_yucca.c                  |    6 ++--
 board/amirix/ap1000/ap1000.c                  |   10 +++---
 board/amirix/ap1000/powerspan.c               |    4 +-
 board/barco/barco.c                           |    2 +-
 board/bc3450/cmd_bc3450.c                     |   12 +++---
 board/bf537-stamp/cmd_bf537led.c              |    2 +-
 board/cm-bf527/gpio.c                         |    2 +-
 board/cm-bf537e/flash.c                       |    2 +-
 board/cm-bf537u/flash.c                       |    2 +-
 board/cm5200/cmd_cm5200.c                     |   10 +++---
 board/cm5200/fwupdate.c                       |    8 ++--
 board/delta/delta.c                           |    2 +-
 board/digsy_mtc/cmd_mtc.c                     |   22 ++++++------
 board/eltec/bab7xx/bab7xx.c                   |    2 +-
 board/eltec/elppc/elppc.c                     |    2 +-
 board/esd/apc405/apc405.c                     |    2 +-
 board/esd/ar405/ar405.c                       |    8 ++--
 board/esd/ash405/ash405.c                     |    2 +-
 board/esd/canbt/canbt.c                       |    2 +-
 board/esd/cms700/cms700.c                     |    2 +-
 board/esd/common/auto_update.c                |    2 +-
 board/esd/common/cmd_loadpci.c                |    2 +-
 board/esd/common/lcd.c                        |    2 +-
 board/esd/common/xilinx_jtag/micro.c          |    2 +-
 board/esd/cpci2dp/cpci2dp.c                   |    2 +-
 board/esd/cpci405/cpci405.c                   |    8 ++--
 board/esd/cpci5200/cpci5200.c                 |    2 +-
 board/esd/cpci750/cpci750.c                   |    6 ++--
 board/esd/cpci750/sdram_init.c                |    2 +-
 board/esd/cpciiser4/cpciiser4.c               |    2 +-
 board/esd/dasa_sim/cmd_dasa_sim.c             |    2 +-
 board/esd/du405/du405.c                       |    2 +-
 board/esd/du440/du440.c                       |   16 ++++----
 board/esd/hh405/hh405.c                       |    4 +-
 board/esd/ocrtc/cmd_ocrtc.c                   |    4 +-
 board/esd/pci405/cmd_pci405.c                 |    2 +-
 board/esd/pci405/pci405.c                     |    4 +-
 board/esd/pf5200/pf5200.c                     |    6 ++--
 board/esd/plu405/plu405.c                     |    4 +-
 board/esd/pmc405de/pmc405de.c                 |    8 ++--
 board/esd/pmc440/cmd_pmc440.c                 |   18 +++++-----
 board/esd/tasreg/tasreg.c                     |   14 ++++----
 board/esd/vme8349/caddy.c                     |    2 +-
 board/esd/voh405/voh405.c                     |    4 +-
 board/esd/wuh405/wuh405.c                     |    2 +-
 board/evb64260/zuma_pbb.c                     |    6 ++--
 board/freescale/common/ngpixis.c              |    2 +-
 board/freescale/common/pixis.c                |    6 ++--
 board/freescale/common/sys_eeprom.c           |    2 +-
 board/freescale/m5249evb/m5249evb.c           |    2 +-
 board/freescale/mpc8610hpcd/mpc8610hpcd_diu.c |    2 +-
 board/funkwerk/vovpn-gw/vovpn-gw.c            |    2 +-
 board/g2000/g2000.c                           |    6 ++--
 board/hymod/bsp.c                             |    6 ++--
 board/inka4x0/inkadiag.c                      |   14 ++++----
 board/keymile/km_arm/km_arm.c                 |    2 +-
 board/lwmon/lwmon.c                           |   18 +++++-----
 board/lwmon5/kbd.c                            |    6 ++--
 board/lwmon5/lwmon5.c                         |    2 +-
 board/micronas/vct/smc_eeprom.c               |    6 ++--
 board/mpl/common/common_util.c                |    2 +-
 board/mpl/mip405/cmd_mip405.c                 |    4 +-
 board/mpl/pati/cmd_pati.c                     |    4 +-
 board/mpl/pip405/cmd_pip405.c                 |    4 +-
 board/mpl/vcma9/cmd_vcma9.c                   |    4 +-
 board/netstar/crcit.c                         |    2 +-
 board/netstar/eeprom.c                        |    2 +-
 board/pcippc2/pcippc2.c                       |    4 +-
 board/pcs440ep/pcs440ep.c                     |    4 +-
 board/pdm360ng/pdm360ng.c                     |    2 +-
 board/pn62/cmd_pn62.c                         |    4 +-
 board/ppmc7xx/ppmc7xx.c                       |    2 +-
 board/prodrive/pdnb3/pdnb3.c                  |    4 +-
 board/pxa255_idp/pxa_idp.c                    |    2 +-
 board/r360mpi/r360mpi.c                       |    2 +-
 board/renesas/sh7785lcr/rtl8169_mac.c         |    4 +-
 board/renesas/sh7785lcr/selfcheck.c           |    2 +-
 board/renesas/sh7785lcr/sh7785lcr.c           |    2 +-
 board/sacsng/sacsng.c                         |    2 +-
 board/sandburst/common/ppc440gx_i2c.c         |    2 +-
 board/sandburst/karef/karef.c                 |    4 +-
 board/sandburst/metrobox/metrobox.c           |    4 +-
 board/siemens/common/fpga.c                   |    2 +-
 board/siemens/pcu_e/pcu_e.c                   |    2 +-
 board/spear/common/spr_misc.c                 |    2 +-
 board/tcm-bf537/flash.c                       |    2 +-
 board/tqc/tqm5200/cmd_stk52xx.c               |   14 ++++----
 board/tqc/tqm5200/cmd_tb5200.c                |    4 +-
 board/tqc/tqm8272/tqm8272.c                   |    2 +-
 board/trab/cmd_trab.c                         |   24 +++++++-------
 board/trab/trab.c                             |    2 +-
 board/trab/trab_fkt.c                         |   34 +++++++++---------
 board/trizepsiv/eeprom.c                      |    6 ++--
 board/voiceblue/eeprom.c                      |    2 +-
 board/w7o/cmd_vpd.c                           |    2 +-
 board/zeus/update.c                           |    2 +-
 board/zeus/zeus.c                             |    6 ++--
 common/cmd_ambapp.c                           |    2 +-
 common/cmd_bdinfo.c                           |   16 ++++----
 common/cmd_bedbug.c                           |   16 ++++----
 common/cmd_bmp.c                              |    6 ++--
 common/cmd_boot.c                             |    6 ++--
 common/cmd_bootldr.c                          |    2 +-
 common/cmd_bootm.c                            |   44 ++++++++++++------------
 common/cmd_cache.c                            |    4 +-
 common/cmd_console.c                          |    2 +-
 common/cmd_cplbinfo.c                         |    2 +-
 common/cmd_cramfs.c                           |    4 +-
 common/cmd_dataflash_mmc_mux.c                |    2 +-
 common/cmd_date.c                             |    2 +-
 common/cmd_dcr.c                              |    8 ++--
 common/cmd_df.c                               |    2 +-
 common/cmd_diag.c                             |    2 +-
 common/cmd_display.c                          |    2 +-
 common/cmd_dtt.c                              |    2 +-
 common/cmd_echo.c                             |    2 +-
 common/cmd_eeprom.c                           |    2 +-
 common/cmd_elf.c                              |    7 ++--
 common/cmd_exit.c                             |    2 +-
 common/cmd_ext2.c                             |    4 +-
 common/cmd_fat.c                              |    8 ++--
 common/cmd_fdc.c                              |    2 +-
 common/cmd_fdos.c                             |    4 +-
 common/cmd_fdt.c                              |    6 ++--
 common/cmd_flash.c                            |    6 ++--
 common/cmd_fpga.c                             |    2 +-
 common/cmd_help.c                             |    2 +-
 common/cmd_i2c.c                              |   30 ++++++++--------
 common/cmd_ide.c                              |    4 +-
 common/cmd_immap.c                            |   36 ++++++++++----------
 common/cmd_irq.c                              |    4 +-
 common/cmd_itest.c                            |    2 +-
 common/cmd_jffs2.c                            |    6 ++--
 common/cmd_license.c                          |    2 +-
 common/cmd_load.c                             |    8 ++--
 common/cmd_log.c                              |    2 +-
 common/cmd_mac.c                              |    2 +-
 common/cmd_mem.c                              |   40 +++++++++++-----------
 common/cmd_mfsl.c                             |    6 ++--
 common/cmd_mgdisk.c                           |    2 +-
 common/cmd_mii.c                              |    2 +-
 common/cmd_misc.c                             |    2 +-
 common/cmd_mmc.c                              |    6 ++--
 common/cmd_mp.c                               |    2 +-
 common/cmd_mtdparts.c                         |    4 +-
 common/cmd_nand.c                             |    6 ++--
 common/cmd_net.c                              |   24 +++++++-------
 common/cmd_nvedit.c                           |   18 +++++-----
 common/cmd_onenand.c                          |   20 ++++++------
 common/cmd_otp.c                              |    2 +-
 common/cmd_pci.c                              |    2 +-
 common/cmd_pcmcia.c                           |    2 +-
 common/cmd_portio.c                           |    4 +-
 common/cmd_reginfo.c                          |    2 +-
 common/cmd_reiser.c                           |    4 +-
 common/cmd_sata.c                             |    2 +-
 common/cmd_scsi.c                             |    4 +-
 common/cmd_setexpr.c                          |    2 +-
 common/cmd_sf.c                               |    8 ++--
 common/cmd_source.c                           |    2 +-
 common/cmd_spi.c                              |    2 +-
 common/cmd_spibootldr.c                       |    2 +-
 common/cmd_strings.c                          |    2 +-
 common/cmd_terminal.c                         |    2 +-
 common/cmd_test.c                             |    8 ++--
 common/cmd_tsi148.c                           |    2 +-
 common/cmd_ubi.c                              |    2 +-
 common/cmd_ubifs.c                            |    6 ++--
 common/cmd_universe.c                         |    2 +-
 common/cmd_usb.c                              |    4 +-
 common/cmd_version.c                          |    2 +-
 common/cmd_vfd.c                              |    2 +-
 common/cmd_ximg.c                             |    2 +-
 common/cmd_yaffs2.c                           |   24 +++++++-------
 common/command.c                              |   12 +++---
 common/hush.c                                 |   10 +++---
 common/image.c                                |    6 ++--
 common/kgdb.c                                 |    2 +-
 common/lcd.c                                  |    4 +-
 common/main.c                                 |    6 ++--
 doc/README.standalone                         |    2 +-
 drivers/gpio/pca953x.c                        |    2 +-
 drivers/misc/ds4510.c                         |    2 +-
 drivers/misc/fsl_pmic.c                       |    2 +-
 drivers/qe/qe.c                               |    2 +-
 examples/api/demo.c                           |    2 +-
 examples/standalone/82559_eeprom.c            |    2 +-
 examples/standalone/atmel_df_pow2.c           |    2 +-
 examples/standalone/eepro100_eeprom.c         |    2 +-
 examples/standalone/hello_world.c             |    2 +-
 examples/standalone/interrupt.c               |    2 +-
 examples/standalone/mem_to_mem_idma2intr.c    |    4 +-
 examples/standalone/smc91111_eeprom.c         |    2 +-
 examples/standalone/smc911x_eeprom.c          |    2 +-
 examples/standalone/stubs.c                   |    2 +-
 examples/standalone/test_burst.c              |    2 +-
 examples/standalone/timer.c                   |    2 +-
 include/bedbug/type.h                         |    2 +-
 include/command.h                             |    8 ++--
 include/common.h                              |    2 +-
 include/exports.h                             |    2 +-
 include/image.h                               |    4 +-
 include/kgdb.h                                |    2 +-
 include/vxworks.h                             |    2 +-
 lib/vsprintf.c                                |    2 +-
 295 files changed, 659 insertions(+), 658 deletions(-)
api/api.c +1 -1
index 385a7e3..190ee6a 100644
@@ -37,7 +37,7 @@
 #undef DEBUG
 
 /* U-Boot routines needed */
-extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 
 /*****************************************************************************
  *
arch/arm/cpu/arm_cortexa8/mx51/clock.c +1 -1
index 38480ac..a27227d 100644
@@ -269,7 +269,7 @@ u32 imx_get_fecclk(void)
 /*
  * Dump some core clockes.
  */
-int do_mx51_showclocks(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_mx51_showclocks(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	u32 freq;
 
arch/arm/cpu/arm_cortexa8/omap3/board.c +1 -1
index d2500ca..69e56f5 100644
@@ -282,7 +282,7 @@ void abort(void)
 /******************************************************************************
  * OMAP3 specific command to switch between NAND HW and SW ecc
  *****************************************************************************/
-static int do_switch_ecc(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int do_switch_ecc(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	if (argc != 2)
 		goto usage;
arch/arm/lib/bootm.c +1 -1
index 5ac1302..3101321 100644
@@ -50,7 +50,7 @@ static void setup_end_tag (bd_t *bd);
 static struct tag *params;
 #endif /* CONFIG_SETUP_MEMORY_TAGS || CONFIG_CMDLINE_TAG || CONFIG_INITRD_TAG */
 
-int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
+int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *images)
 {
 	bd_t	*bd = gd->bd;
 	char	*s;
arch/arm/lib/reset.c +1 -1
index 4fcedfa..08e6acb 100644
@@ -39,7 +39,7 @@
 
 #include <common.h>
 
-int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	puts ("resetting ...\n");
 
arch/avr32/cpu/cpu.c +1 -1
index 904bfb2..e4489bb 100644
@@ -76,7 +76,7 @@ void prepare_to_boot(void)
 		     "sync   0" : : "r"(0) : "memory");
 }
 
-int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	/* This will reset the CPU core, caches, MMU and all internal busses */
 	__builtin_mtdr(8, 1 << 13);	/* set DC:DBE */
arch/avr32/lib/bootm.c +1 -1
index 6a3172a..8a47cfe 100644
@@ -171,7 +171,7 @@ static void setup_end_tag(struct tag *params)
 	params->hdr.size = 0;
 }
 
-int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
+int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *images)
 {
 	void	(*theKernel)(int magic, void *tagtable);
 	struct	tag *params, *params_start;
arch/blackfin/cpu/bootrom-asm-offsets.c.in +1 -1
index 3146e46..64c2f24 100644
@@ -9,4 +9,4 @@
 #define _DEFINE(sym, val) asm volatile("\n->" #sym " %0 " #val : : "i" (val))
 #define DEFINE(s, m) _DEFINE(offset_##s##_##m, offsetof(s, m))
 
-int main(int argc, char *argv[])
+int main(int argc, char * const argv[])
arch/blackfin/cpu/reset.c +1 -1
index e3be740..164afde 100644
@@ -99,7 +99,7 @@ void bfin_reset_or_hang(void)
 #endif
 }
 
-int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	bfin_reset_trampoline();
 	return 0;
arch/blackfin/lib/boot.c +1 -1
index 951d5b0..37aa82a 100644
@@ -33,7 +33,7 @@ static char *make_command_line(void)
 
 extern ulong bfin_poweron_retx;
 
-int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
+int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *images)
 {
 	int	(*appl) (char *cmdline);
 	char	*cmdline;
arch/blackfin/lib/cmd_cache_dump.c +2 -2
index de5840e..412e019 100644
@@ -25,7 +25,7 @@ static int check_limit(const char *type, size_t start_limit, size_t end_limit, s
 	return 1;
 }
 
-int do_icache_dump(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_icache_dump(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int cache_status = icache_status();
 
@@ -97,7 +97,7 @@ U_BOOT_CMD(icache_dump, 4, 0, do_icache_dump,
 	"icache_dump - dump current instruction cache\n",
 	"[way] [subbank] [set]");
 
-int do_dcache_dump(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_dcache_dump(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	u32 way, bank, subbank, set;
 	u32 status, addr;
arch/blackfin/lib/kgdb.c +1 -1
index bd62d71..4ca3fc7 100644
@@ -417,7 +417,7 @@ void kgdb_putregs(struct pt_regs *regs, char *buf, int length)
 
 }
 
-void kgdb_breakpoint(int argc, char *argv[])
+void kgdb_breakpoint(int argc, char * const argv[])
 {
 	asm volatile ("excpt 0x1\n");
 }
arch/i386/cpu/cpu.c +1 -1
index 3010519..bd6aced 100644
@@ -56,7 +56,7 @@ int cpu_init_r(void)
 	return 0;
 }
 
-int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	printf ("resetting ...\n");
 	udelay(50000);				/* wait 50 ms */
arch/i386/lib/board.c +1 -1
index 3f849f6..0adc664 100644
@@ -431,7 +431,7 @@ void hang (void)
 	for (;;);
 }
 
-unsigned long do_go_exec (ulong (*entry)(int, char *[]), int argc, char *argv[])
+unsigned long do_go_exec (ulong (*entry)(int, char *[]), int argc, char * const argv[])
 {
 	/*
 	 * x86 does not use a dedicated register to pass the pointer
arch/i386/lib/bootm.c +1 -1
index f96d7bd..b36e58d 100644
@@ -29,7 +29,7 @@
 #include <asm/zimage.h>
 
 /*cmd_boot.c*/
-int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
+int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *images)
 {
 	void		*base_ptr;
 	ulong		os_data, os_len;
arch/i386/lib/interrupts.c +1 -1
index 51def59..5a28278 100644
@@ -136,7 +136,7 @@ void do_irq(int hw_irq)
 }
 
 #if defined(CONFIG_CMD_IRQ)
-int do_irqinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_irqinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int irq;
 
arch/i386/lib/zimage.c +1 -1
index b39615a..89fe015 100644
@@ -245,7 +245,7 @@ void boot_zimage(void *setup_base)
 	enter_realmode(((u32)setup_base+SETUP_START_OFFSET)>>4, 0, &regs, &regs);
 }
 
-int do_zboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_zboot (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	void *base_ptr;
 	void *bzImage_addr;
arch/m68k/cpu/mcf5227x/cpu.c +1 -1
index d9f5f43..5129a03 100644
@@ -33,7 +33,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char * const argv[])
 {
 	volatile rcm_t *rcm = (rcm_t *) (MMAP_RCM);
 	udelay(1000);
arch/m68k/cpu/mcf523x/cpu.c +1 -1
index a1a5133..582aec9 100644
@@ -34,7 +34,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char * const argv[])
 {
 	volatile ccm_t *ccm = (ccm_t *) MMAP_CCM;
 
arch/m68k/cpu/mcf52x2/cpu.c +7 -7
index c4c5d50..9fb717c 100644
@@ -38,7 +38,7 @@
 DECLARE_GLOBAL_DATA_PTR;
 
 #ifdef	CONFIG_M5208
-int do_reset(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char * const argv[])
 {
 	volatile rcm_t *rcm = (rcm_t *)(MMAP_RCM);
 
@@ -142,7 +142,7 @@ int checkcpu(void)
 	return 0;
 }
 
-int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char * const argv[])
 {
 	/* Call the board specific reset actions first. */
 	if(board_reset) {
@@ -177,7 +177,7 @@ int watchdog_init(void)
 #endif
 
 #ifdef	CONFIG_M5272
-int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char * const argv[])
 {
 	volatile wdog_t *wdp = (wdog_t *) (MMAP_WDOG);
 
@@ -257,7 +257,7 @@ int watchdog_init(void)
 #endif				/* #ifdef CONFIG_M5272 */
 
 #ifdef	CONFIG_M5275
-int do_reset(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char * const argv[])
 {
 	volatile rcm_t *rcm = (rcm_t *)(MMAP_RCM);
 
@@ -337,7 +337,7 @@ int checkcpu(void)
 	return 0;
 }
 
-int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char * const argv[])
 {
 	MCFRESET_RCR = MCFRESET_RCR_SOFTRST;
 	return 0;
@@ -354,7 +354,7 @@ int checkcpu(void)
 	return 0;
 }
 
-int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char * const argv[])
 {
 	/* enable watchdog, set timeout to 0 and wait */
 	mbar_writeByte(MCFSIM_SYPCR, 0xc0);
@@ -384,7 +384,7 @@ int checkcpu(void)
 	return 0;
 }
 
-int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char * const argv[])
 {
 	/* enable watchdog, set timeout to 0 and wait */
 	mbar_writeByte(SIM_SYPCR, 0xc0);
arch/m68k/cpu/mcf532x/cpu.c +1 -1
index 331cc15..0af4969 100644
@@ -34,7 +34,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char * const argv[])
 {
 	volatile rcm_t *rcm = (rcm_t *) (MMAP_RCM);
 
arch/m68k/cpu/mcf5445x/cpu.c +1 -1
index 6238bc0..182521c 100644
@@ -34,7 +34,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char * const argv[])
 {
 	volatile rcm_t *rcm = (rcm_t *) (MMAP_RCM);
 	udelay(1000);
arch/m68k/cpu/mcf547x_8x/cpu.c +1 -1
index 3912a74..f9a4b64 100644
@@ -34,7 +34,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char * const argv[])
 {
 	volatile gptmr_t *gptmr = (gptmr_t *) (MMAP_GPTMR);
 
arch/m68k/lib/bootm.c +1 -1
index e5ed6eb..76a2fb2 100644
@@ -64,7 +64,7 @@ void arch_lmb_reserve(struct lmb *lmb)
 	lmb_reserve(lmb, sp, (CONFIG_SYS_SDRAM_BASE + gd->ram_size - sp));
 }
 
-int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
+int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *images)
 {
 	ulong rd_len;
 	ulong initrd_start, initrd_end;
arch/microblaze/cpu/interrupts.c +2 -2
index 7a9d022..e9d53c1 100644
@@ -173,7 +173,7 @@ void interrupt_handler (void)
 
 #if defined(CONFIG_CMD_IRQ)
 #ifdef CONFIG_SYS_INTC_0
-int do_irqinfo (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_irqinfo (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	int i;
 	struct irq_action *act = vecs;
@@ -193,7 +193,7 @@ int do_irqinfo (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 	return (0);
 }
 #else
-int do_irqinfo (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_irqinfo (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	puts ("Undefined interrupt controller\n");
 }
arch/microblaze/lib/bootm.c +1 -1
index 2227a81..8e2c6d8 100644
@@ -32,7 +32,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
+int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *images)
 {
 	/* First parameter is mapped to $r5 for kernel boot args */
 	void	(*theKernel) (char *, ulong, ulong);
arch/mips/cpu/cpu.c +1 -1
index d5a1604..3ae397c 100644
@@ -42,7 +42,7 @@ void __attribute__((weak)) _machine_restart(void)
 {
 }
 
-int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	_machine_restart();
 
arch/mips/lib/bootm.c +1 -1
index 54af24c..40a5647 100644
@@ -43,7 +43,7 @@ static int	linux_env_idx;
 static void linux_params_init (ulong start, char * commandline);
 static void linux_env_set (char * env_name, char * env_val);
 
-int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
+int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *images)
 {
 	void	(*theKernel) (int, char **, char **, int *);
 	char	*commandline = getenv ("bootargs");
arch/mips/lib/bootm_qemu_mips.c +1 -1
index cc70fa9..f1906c6 100644
@@ -29,7 +29,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
+int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *images)
 {
 	void	(*theKernel) (int, char **, char **, int *);
 	char	*bootargs = getenv ("bootargs");
arch/nios2/cpu/epcs.c +7 -7
index ab7d746..2369431 100644
@@ -472,7 +472,7 @@ static int epcs_sect_erased (int sect, unsigned *offset,
  * Commands
  ***********************************************************************/
 static
-void do_epcs_info (struct epcs_devinfo_t *dev, int argc, char *argv[])
+void do_epcs_info (struct epcs_devinfo_t *dev, int argc, char * const argv[])
 {
 	int i;
 	unsigned char stat;
@@ -519,7 +519,7 @@ void do_epcs_info (struct epcs_devinfo_t *dev, int argc, char *argv[])
 }
 
 static
-void do_epcs_erase (struct epcs_devinfo_t *dev, int argc, char *argv[])
+void do_epcs_erase (struct epcs_devinfo_t *dev, int argc, char * const argv[])
 {
 	unsigned start,end;
 
@@ -549,7 +549,7 @@ void do_epcs_erase (struct epcs_devinfo_t *dev, int argc, char *argv[])
 }
 
 static
-void do_epcs_protect (struct epcs_devinfo_t *dev, int argc, char *argv[])
+void do_epcs_protect (struct epcs_devinfo_t *dev, int argc, char * const argv[])
 {
 	unsigned char stat;
 
@@ -585,7 +585,7 @@ void do_epcs_protect (struct epcs_devinfo_t *dev, int argc, char *argv[])
 }
 
 static
-void do_epcs_read (struct epcs_devinfo_t *dev, int argc, char *argv[])
+void do_epcs_read (struct epcs_devinfo_t *dev, int argc, char * const argv[])
 {
 	ulong addr,off,cnt;
 	ulong sz;
@@ -617,7 +617,7 @@ void do_epcs_read (struct epcs_devinfo_t *dev, int argc, char *argv[])
 }
 
 static
-void do_epcs_write (struct epcs_devinfo_t *dev, int argc, char *argv[])
+void do_epcs_write (struct epcs_devinfo_t *dev, int argc, char * const argv[])
 {
 	ulong addr,off,cnt;
 	ulong sz;
@@ -656,7 +656,7 @@ void do_epcs_write (struct epcs_devinfo_t *dev, int argc, char *argv[])
 }
 
 static
-void do_epcs_verify (struct epcs_devinfo_t *dev, int argc, char *argv[])
+void do_epcs_verify (struct epcs_devinfo_t *dev, int argc, char * const argv[])
 {
 	ulong addr,off,cnt;
 	ulong sz;
@@ -690,7 +690,7 @@ void do_epcs_verify (struct epcs_devinfo_t *dev, int argc, char *argv[])
 }
 
 /*-----------------------------------------------------------------------*/
-int do_epcs (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_epcs (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int len;
 	struct epcs_devinfo_t *dev = epcs_dev_find ();
arch/nios2/cpu/interrupts.c +1 -1
index b552db4..63acfa9 100644
@@ -239,7 +239,7 @@ int interrupt_init (void)
 
 /*************************************************************************/
 #if defined(CONFIG_CMD_IRQ)
-int do_irqinfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_irqinfo (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int i;
 	struct irq_action *act = vecs;
arch/nios2/cpu/sysid.c +1 -1
index 77bc8b5..5fbc28b 100644
@@ -44,7 +44,7 @@ void display_sysid (void)
 
 }
 
-int do_sysid (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_sysid (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	display_sysid ();
 	return (0);
arch/nios2/lib/bootm.c +1 -1
index 5d25edf..e4093a8 100644
@@ -28,7 +28,7 @@
 
 #define NIOS_MAGIC 0x534f494e /* enable command line and initrd passing */
 
-int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
+int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *images)
 {
 	void (*kernel)(int, int, int, char *) = (void *)images->ep;
 	char *commandline = getenv("bootargs");
arch/powerpc/cpu/74xx_7xx/cpu.c +1 -1
index 14d3ce4..ab6f11d 100644
@@ -235,7 +235,7 @@ soft_restart(unsigned long addr)
     !defined(CONFIG_PPMC7XX)
 /* no generic way to do board reset. simply call soft_reset. */
 void
-do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong addr;
 	/* flush and disable I/D cache */
arch/powerpc/cpu/74xx_7xx/interrupts.c +1 -1
index c2856c9..7fc8a34 100644
@@ -98,7 +98,7 @@ irq_free_handler(int vec)
 /****************************************************************************/
 
 void
-do_irqinfo(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+do_irqinfo(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char * const argv[])
 {
 	puts("IRQ related functions are unimplemented currently.\n");
 }
arch/powerpc/cpu/mpc512x/cpu.c +1 -1
index 09cbd20..a1a3bd4 100644
@@ -75,7 +75,7 @@ int checkcpu (void)
 
 
 int
-do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong msr;
 	volatile immap_t *immap = (immap_t *) CONFIG_SYS_IMMR;
arch/powerpc/cpu/mpc512x/diu.c +1 -1
index 1cce6a2..f638c00 100644
@@ -107,7 +107,7 @@ int mpc5121_diu_init(void)
 }
 
 int mpc5121diu_init_show_bmp(cmd_tbl_t *cmdtp,
-			     int flag, int argc, char *argv[])
+			     int flag, int argc, char * const argv[])
 {
 	unsigned int addr;
 
arch/powerpc/cpu/mpc512x/iim.c +1 -1
index 8f2eb37..abec8f6 100644
@@ -278,7 +278,7 @@ int ads5121_fuse_stat(int bank)
 	return 0;
 }
 
-int do_ads5121_fuse(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_ads5121_fuse(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int frow, n, v, bank;
 
arch/powerpc/cpu/mpc512x/speed.c +1 -1
index ce8d094..9d749f2 100644
@@ -131,7 +131,7 @@ ulong get_bus_freq (ulong dummy)
 	return gd->csb_clk;
 }
 
-int do_clocks (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_clocks (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	char buf[32];
 
arch/powerpc/cpu/mpc5xx/cpu.c +1 -1
index 7fffebc..5aa7f84 100644
@@ -138,7 +138,7 @@ int dcache_status (void)
 /*
  * Reset board
  */
-int do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 #if defined(CONFIG_PATI)
 	volatile ulong *addr = (ulong *) CONFIG_SYS_RESET_ADDRESS;
arch/powerpc/cpu/mpc5xx/interrupts.c +1 -1
index 167543f..66bce30 100644
@@ -184,7 +184,7 @@ void timer_interrupt_cpu (struct pt_regs *regs)
  * irqinfo - print information about IRQs
  *
  */
-int do_irqinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_irqinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int vec;
 
arch/powerpc/cpu/mpc5xxx/cpu.c +1 -1
index 44b8a7a..0c1eebd 100644
@@ -78,7 +78,7 @@ int checkcpu (void)
 /* ------------------------------------------------------------------------- */
 
 int
-do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong msr;
 	/* Interrupts and MMU off */
arch/powerpc/cpu/mpc5xxx/interrupts.c +1 -1
index 16eee3a..50455d0 100644
@@ -311,7 +311,7 @@ void irq_free_handler(int irq)
 /****************************************************************************/
 
 #if defined(CONFIG_CMD_IRQ)
-void do_irqinfo(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+void do_irqinfo(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char * const argv[])
 {
 	int irq, re_enable;
 	u32 intr_ctrl;
arch/powerpc/cpu/mpc8220/cpu.c +1 -1
index 563cfe0..64e0526 100644
@@ -52,7 +52,7 @@ int checkcpu (void)
 
 /* ------------------------------------------------------------------------- */
 
-int do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	volatile gptmr8220_t *gptmr = (volatile gptmr8220_t *) MMAP_GPTMR;
 	ulong msr;
arch/powerpc/cpu/mpc8220/interrupts.c +1 -1
index 78e9917..9544d85 100644
@@ -74,7 +74,7 @@ void irq_free_handler (int vec)
 /****************************************************************************/
 
 void
-do_irqinfo (cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+do_irqinfo (cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char * const argv[])
 {
 	puts ("IRQ related functions are unimplemented currently.\n");
 }
arch/powerpc/cpu/mpc824x/cpu.c +1 -1
index 08f6a94..44f91b2 100644
@@ -92,7 +92,7 @@ int checkdcache (void)
 
 /*------------------------------------------------------------------- */
 
-int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong msr, addr;
 
arch/powerpc/cpu/mpc8260/bedbug_603e.c +2 -2
index c969ff6..2488612 100644
@@ -18,7 +18,7 @@
 extern CPU_DEBUG_CTX bug_ctx;
 
 void bedbug603e_init __P((void));
-void bedbug603e_do_break __P((cmd_tbl_t*,int,int,char*[]));
+void bedbug603e_do_break __P((cmd_tbl_t*,int,int,char*const[]));
 void bedbug603e_break_isr __P((struct pt_regs*));
 int  bedbug603e_find_empty __P((void));
 int  bedbug603e_set __P((int,unsigned long));
@@ -64,7 +64,7 @@ void bedbug603e_init( void )
  * ====================================================================== */
 
 void bedbug603e_do_break (cmd_tbl_t *cmdtp, int flag, int argc,
-			 char *argv[])
+			 char * const argv[])
 {
   long		addr;           /* Address to break at  */
   int		which_bp;       /* Breakpoint number    */
arch/powerpc/cpu/mpc8260/cpu.c +1 -1
index aedbf29..220c1e2 100644
@@ -238,7 +238,7 @@ void upmconfig (uint upm, uint * table, uint size)
 
 #if !defined(CONFIG_HAVE_OWN_RESET)
 int
-do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong msr, addr;
 
arch/powerpc/cpu/mpc8260/interrupts.c +1 -1
index 2606c60..79178cc 100644
@@ -256,7 +256,7 @@ void timer_interrupt_cpu (struct pt_regs *regs)
 *
 */
 void
-do_irqinfo (cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+do_irqinfo (cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char * const argv[])
 {
 	int irq, re_enable;
 
arch/powerpc/cpu/mpc83xx/cpu.c +1 -1
index d3be909..b664c64 100644
@@ -192,7 +192,7 @@ void upmconfig (uint upm, uint *table, uint size)
 
 
 int
-do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong msr;
 #ifndef MPC83xx_RESET
arch/powerpc/cpu/mpc83xx/ecc.c +1 -1
index f3942b4..8dadd64 100644
@@ -98,7 +98,7 @@ void ecc_print_status(void)
 	       ddr->capture_attributes & ECC_CAPT_ATTR_VLD);
 }
 
-int do_ecc(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_ecc(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	volatile immap_t *immap = (immap_t *) CONFIG_SYS_IMMR;
 	volatile ddr83xx_t *ddr = &immap->ddr;
arch/powerpc/cpu/mpc83xx/interrupts.c +1 -1
index faffbaf..446af27 100644
@@ -90,7 +90,7 @@ void timer_interrupt_cpu (struct pt_regs *regs)
  */
 
 void
-do_irqinfo(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+do_irqinfo(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char * const argv[])
 {
 }
 
arch/powerpc/cpu/mpc83xx/speed.c +1 -1
index 500eef1..b5076a9 100644
@@ -497,7 +497,7 @@ ulong get_bus_freq(ulong dummy)
 	return gd->csb_clk;
 }
 
-int do_clocks (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_clocks (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	char buf[32];
 
arch/powerpc/cpu/mpc85xx/cpu.c +1 -1
index fddeb2f..6f81fdf 100644
@@ -186,7 +186,7 @@ int checkcpu (void)
 
 /* ------------------------------------------------------------------------- */
 
-int do_reset (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_reset (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char * const argv[])
 {
 /* Everything after the first generation of PQ3 parts has RSTCR */
 #if defined(CONFIG_MPC8540) || defined(CONFIG_MPC8541) || \
arch/powerpc/cpu/mpc85xx/interrupts.c +1 -1
index 409367d..ac8c01a 100644
@@ -103,7 +103,7 @@ void timer_interrupt_cpu(struct pt_regs *regs)
 
 #if defined(CONFIG_CMD_IRQ)
 /* irqinfo - print information about PCI devices,not implemented. */
-int do_irqinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_irqinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	return 0;
 }
arch/powerpc/cpu/mpc85xx/mp.c +1 -1
index 826bf32..ddbc221 100644
@@ -105,7 +105,7 @@ static u8 boot_entry_map[4] = {
 	BOOT_ENTRY_R6_LOWER,
 };
 
-int cpu_release(int nr, int argc, char *argv[])
+int cpu_release(int nr, int argc, char * const argv[])
 {
 	u32 i, val, *table = (u32 *)get_spin_virt_addr() + nr * NUM_BOOT_ENTRY;
 	u64 boot_addr;
arch/powerpc/cpu/mpc86xx/cpu.c +1 -1
index 1887575..9064e78 100644
@@ -124,7 +124,7 @@ checkcpu(void)
 
 
 void
-do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	volatile immap_t *immap = (immap_t *)CONFIG_SYS_IMMR;
 	volatile ccsr_gur_t *gur = &immap->im_gur;
arch/powerpc/cpu/mpc86xx/interrupts.c +1 -1
index c78fc72..d8ad6d3 100644
@@ -101,7 +101,7 @@ void irq_free_handler(int vec)
 /*
  * irqinfo - print information about PCI devices,not implemented.
  */
-int do_irqinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_irqinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	return 0;
 }
arch/powerpc/cpu/mpc86xx/mp.c +1 -1
index b4a0faa..24eb30a 100644
@@ -66,7 +66,7 @@ int cpu_disable(int nr)
 	return 0;
 }
 
-int cpu_release(int nr, int argc, char *argv[])
+int cpu_release(int nr, int argc, char * const argv[])
 {
 	/* dummy function so common/cmd_mp.c will build
 	 * should be implemented in the future */
arch/powerpc/cpu/mpc8xx/bedbug_860.c +2 -2
index 0308bbb..9deda6c 100644
@@ -17,7 +17,7 @@
 extern CPU_DEBUG_CTX bug_ctx;
 
 void bedbug860_init __P((void));
-void bedbug860_do_break __P((cmd_tbl_t*,int,int,char*[]));
+void bedbug860_do_break __P((cmd_tbl_t*,int,int,char*const[]));
 void bedbug860_break_isr __P((struct pt_regs*));
 int  bedbug860_find_empty __P((void));
 int  bedbug860_set __P((int,unsigned long));
@@ -63,7 +63,7 @@ void bedbug860_init( void )
  * ====================================================================== */
 
 void bedbug860_do_break (cmd_tbl_t *cmdtp, int flag, int argc,
-			 char *argv[])
+			 char * const argv[])
 {
   long		addr = 0;       /* Address to break at  */
   int		which_bp;       /* Breakpoint number    */
arch/powerpc/cpu/mpc8xx/cpu.c +2 -2
index 2eb848b..142cfa5 100644
@@ -478,7 +478,7 @@ void upmconfig (uint upm, uint * table, uint size)
 
 #ifndef CONFIG_LWMON
 
-int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong msr, addr;
 
@@ -521,7 +521,7 @@ int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
  * and thus too short to reset the external hardware. So we  use  the
  * watchdog to reset the board.
  */
-int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	/* prevent triggering the watchdog */
 	disable_interrupts ();
arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c +1 -1
index faddee9..1bf65ee 100644
@@ -393,7 +393,7 @@ static void	test(void);
 static void	DQS_calibration_process(void);
 #endif
 #endif
-int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 
 static unsigned char spd_read(uchar chip, uint addr)
 {
arch/powerpc/cpu/ppc4xx/bedbug_405.c +2 -2
index ef11cb6..e1500cc 100644
@@ -17,7 +17,7 @@
 extern CPU_DEBUG_CTX bug_ctx;
 
 void bedbug405_init __P ((void));
-void bedbug405_do_break __P ((cmd_tbl_t *, int, int, char *[]));
+void bedbug405_do_break __P ((cmd_tbl_t *, int, int, char * const []));
 void bedbug405_break_isr __P ((struct pt_regs *));
 int bedbug405_find_empty __P ((void));
 int bedbug405_set __P ((int, unsigned long));
@@ -63,7 +63,7 @@ void bedbug405_init (void)
  * set routine which will assign a breakpoint number.
  * ====================================================================== */
 
-void bedbug405_do_break (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+void bedbug405_do_break (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	long addr = 0;		/* Address to break at  */
 	int which_bp;		/* Breakpoint number    */
arch/powerpc/cpu/ppc4xx/cmd_chip_config.c +1 -1
index ba57211..72c5aec 100644
@@ -45,7 +45,7 @@ static void print_configs(int cur_config_nr)
 
 }
 
-static int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int i;
 	int ret;
arch/powerpc/cpu/ppc4xx/cpu.c +1 -1
index e1a023b..851065c 100644
@@ -688,7 +688,7 @@ int ppc440spe_revB() {
 
 /* ------------------------------------------------------------------------- */
 
-int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 #if defined(CONFIG_BOARD_RESET)
 	board_reset();
arch/powerpc/cpu/ppc4xx/interrupts.c +1 -1
index 6db8421..c89bf37 100644
@@ -194,7 +194,7 @@ void irq_free_handler(int vec)
 }
 
 #if defined(CONFIG_CMD_IRQ)
-int do_irqinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_irqinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int vec;
 
arch/powerpc/lib/bootm.c +2 -2
index 6702df5..3064121 100644
@@ -47,7 +47,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 extern ulong get_effective_memsize(void);
 static ulong get_sp (void);
 static void set_clocks_in_mhz (bd_t *kbd);
@@ -297,7 +297,7 @@ static int boot_body_linux(bootm_headers_t *images)
 }
 
 __attribute__((noinline))
-int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
+int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *images)
 {
 	int	ret;
 
arch/powerpc/lib/kgdb.c +1 -1
index d3eb1f3..1ec6818 100644
@@ -313,7 +313,7 @@ kgdb_putregs(struct pt_regs *regs, char *buf, int length)
    the debugger. */
 
 void
-kgdb_breakpoint(int argc, char *argv[])
+kgdb_breakpoint(int argc, char * const argv[])
 {
 	asm("	.globl breakinst\n\
 	     breakinst: .long 0x7d821008\n\
arch/sh/cpu/sh2/cpu.c +1 -1
index e0cb047..6bbedd9 100644
@@ -59,7 +59,7 @@ int cleanup_before_linux(void)
 	return 0;
 }
 
-int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	disable_interrupts();
 	reset_cpu(0);
arch/sh/cpu/sh3/cpu.c +1 -1
index 8261d29..3e9caad 100644
@@ -45,7 +45,7 @@ int cleanup_before_linux(void)
 	return 0;
 }
 
-int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	disable_interrupts();
 	reset_cpu(0);
arch/sh/cpu/sh4/cpu.c +1 -1
index be410ab..f136758 100644
@@ -44,7 +44,7 @@ int cleanup_before_linux (void)
 	return 0;
 }
 
-int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	disable_interrupts();
 	reset_cpu (0);
arch/sh/lib/bootm.c +1 -1
index ae1f869..9c58ed7 100644
@@ -43,7 +43,7 @@ static void hexdump(unsigned char *buf, int len)
 }
 #endif
 
-int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
+int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *images)
 {
 	/* Linux kernel load address */
 	void (*kernel) (void) = (void (*)(void))images->ep;
arch/sparc/cpu/leon2/cpu.c +1 -1
index d6e23b1..46512c7 100644
@@ -49,7 +49,7 @@ void cpu_reset(void)
 	_reset_reloc();
 }
 
-int do_reset(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	cpu_reset();
 
arch/sparc/cpu/leon2/interrupts.c +1 -1
index 9b0da96..5149550 100644
@@ -195,7 +195,7 @@ void irq_free_handler(int irq)
 /****************************************************************************/
 
 #if defined(CONFIG_CMD_IRQ)
-void do_irqinfo(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+void do_irqinfo(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char * const argv[])
 {
 	int irq;
 	unsigned int pil = get_pil();
arch/sparc/cpu/leon3/cpu.c +1 -1
index 976f311..a1646e2 100644
@@ -52,7 +52,7 @@ void cpu_reset(void)
 	_reset_reloc();
 }
 
-int do_reset(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_reset(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	cpu_reset();
 
arch/sparc/cpu/leon3/interrupts.c +1 -1
index ac6aca5..4138f9b 100644
@@ -197,7 +197,7 @@ void irq_free_handler(int irq)
 /****************************************************************************/
 
 #if defined(CONFIG_CMD_IRQ)
-void do_irqinfo(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+void do_irqinfo(cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char * const argv[])
 {
 	int irq;
 	unsigned int pil = get_pil();
arch/sparc/include/asm/prom.h +1 -1
index d55cc86..12901bc 100644
@@ -79,7 +79,7 @@ struct linux_mem_v0 {
 
 /* Arguments sent to the kernel from the boot prompt. */
 struct linux_arguments_v0 {
-	char *argv[8];
+	char * const argv[8];
 	char args[100];
 	char boot_dev[2];
 	int boot_dev_ctrl;
arch/sparc/lib/board.c +1 -1
index 11eea60..b776c21 100644
@@ -63,7 +63,7 @@ DECLARE_GLOBAL_DATA_PTR;
 
 extern void timer_interrupt_init(void);
 extern void malloc_bin_reloc(void);
-extern int do_ambapp_print(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]);
+extern int do_ambapp_print(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]);
 extern int prom_init(void);
 
 #if defined(CONFIG__CMD_DOC)
arch/sparc/lib/bootm.c +1 -1
index c62cf57..4c226a3 100644
@@ -92,7 +92,7 @@ void arch_lmb_reserve(struct lmb *lmb)
 }
 
 /* boot the linux kernel */
-int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t * images)
+int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t * images)
 {
 	char *bootargs;
 	ulong initrd_start, initrd_end;
board/BuS/EB+MCF-EV123/EB+MCF-EV123.c +1 -1
index 2fc3eaf..1f76dd9 100644
@@ -193,7 +193,7 @@ int drv_video_init(void)
 /*---------------------------------------------------------------------------*/
 
 #ifdef CONFIG_VIDEO
-int do_brightness(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_brightness(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int rcode = 0;
 	ulong side;
board/BuS/eb_cpux9k2/cpux9k2.c +1 -1
index 1f22275..bbceaf3 100644
@@ -348,7 +348,7 @@ void __led_set(led_id_t mask, int state)
 
 /*---------------------------------------------------------------------------*/
 
-int do_brightness(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_brightness(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int rcode = 0;
 	ulong side;
board/amcc/acadia/cmd_acadia.c +1 -1
index c427f9e..86f86e2 100644
@@ -38,7 +38,7 @@ static u8 boot_267_nand[] = {
 	0x00, 0x00, 0x00, 0x00
 };
 
-static int do_bootstrap(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int do_bootstrap(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	u8 chip;
 	u8 *buf;
board/amcc/luan/luan.c +1 -1
index 4e12e9a..c0368c0 100644
@@ -207,7 +207,7 @@ static int l2cache_status(void)
  *  int do_l2cache()
  *
  ************************************************************************/
-int do_l2cache( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[] )
+int do_l2cache( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[] )
 {
 	switch (argc) {
 	case 2:			/* on / off	*/
board/amcc/makalu/cmd_pll.c +1 -1
index 9bae67e..3c0dc5f 100644
@@ -178,7 +178,7 @@ test_write(void)
 }
 
 int
-do_pll_alter (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+do_pll_alter (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	char c = '\0';
 	pll_freq_t pll_freq;
board/amcc/taihu/lcd.c +4 -4
index c3dc983..595dee3 100644
@@ -129,7 +129,7 @@ int lcd_init(void)
 	return 0;
 }
 
-static int do_lcd_clear (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int do_lcd_clear (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	out_8((u8 *) LCD_CMD_ADDR, 0x01);
 	udelay(2000);
@@ -137,7 +137,7 @@ static int do_lcd_clear (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 	return 0;
 }
 
-static int do_lcd_puts (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int do_lcd_puts (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	if (argc < 2) {
 		cmd_usage(cmdtp);
@@ -148,7 +148,7 @@ static int do_lcd_puts (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 	return 0;
 }
 
-static int do_lcd_putc (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int do_lcd_putc (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	if (argc < 2) {
 		cmd_usage(cmdtp);
@@ -159,7 +159,7 @@ static int do_lcd_putc (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 	return 0;
 }
 
-static int do_lcd_cur (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int do_lcd_cur (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong count;
 	ulong dir;
board/amcc/taihu/taihu.c +2 -2
index be381d6..1682cf7 100644
@@ -78,7 +78,7 @@ int checkboard(void)
 	return 0;
 }
 
-static int do_sw_stat(cmd_tbl_t* cmd_tp, int flags, int argc, char *argv[])
+static int do_sw_stat(cmd_tbl_t* cmd_tp, int flags, int argc, char * const argv[])
 {
 	char stat;
 	int i;
@@ -97,7 +97,7 @@ U_BOOT_CMD (
 	""
 );
 
-static int do_led_ctl(cmd_tbl_t* cmd_tp, int flags, int argc, char *argv[])
+static int do_led_ctl(cmd_tbl_t* cmd_tp, int flags, int argc, char * const argv[])
 {
 	int led_no;
 
board/amcc/taihu/update.c +1 -1
index f9c31b3..b87eac4 100644
@@ -98,7 +98,7 @@ static uchar buf_66[] =
 	0x00
 };
 
-static int update_boot_eeprom(cmd_tbl_t* cmdtp, int flag, int argc, char *argv[])
+static int update_boot_eeprom(cmd_tbl_t* cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong len = 0x20;
 	uchar chip = CONFIG_SYS_I2C_EEPROM_ADDR;
board/amcc/taishan/lcd.c +7 -7
index d432cc3..6a049df 100644
@@ -152,19 +152,19 @@ int lcd_init(void)
 	return 0;
 }
 
-static int do_lcd_test(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int do_lcd_test(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	lcd_init();
 	return 0;
 }
 
-static int do_lcd_clear(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int do_lcd_clear(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	*LCD_CMD_ADDR = 0x01;
 	mdelay(LCD_DELAY_NORMAL_MS);
 	return 0;
 }
-static int do_lcd_puts(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int do_lcd_puts(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	if (argc < 2) {
 		cmd_usage(cmdtp);
@@ -173,7 +173,7 @@ static int do_lcd_puts(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 	lcd_puts(argv[1]);
 	return 0;
 }
-static int do_lcd_putc(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int do_lcd_putc(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	if (argc < 2) {
 		cmd_usage(cmdtp);
@@ -182,7 +182,7 @@ static int do_lcd_putc(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 	lcd_putc((char)argv[1][0]);
 	return 0;
 }
-static int do_lcd_cur(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int do_lcd_cur(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong count;
 	ulong dir;
@@ -356,7 +356,7 @@ void set_phy_normal_mode(void)
 }
 #endif	/* 0 - test only */
 
-static int do_led_test_off(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int do_led_test_off(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	volatile unsigned int *GpioOr =
 		(volatile unsigned int *)(CONFIG_SYS_PERIPHERAL_BASE + 0x700);
@@ -364,7 +364,7 @@ static int do_led_test_off(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 	return 0;
 }
 
-static int do_led_test_on(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int do_led_test_on(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	volatile unsigned int *GpioOr =
 		(volatile unsigned int *)(CONFIG_SYS_PERIPHERAL_BASE + 0x700);
board/amcc/taishan/showinfo.c +3 -3
index a9a80e5..587fe74 100644
@@ -161,7 +161,7 @@ void show_xbridge_info(void)
 	printf("PCIL0_XSTS              = %#010lx\n", in32r(PCIL0_STS));
 }
 
-int do_show_xbridge_info(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_show_xbridge_info(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	show_xbridge_info();
 	return 0;
@@ -215,7 +215,7 @@ void show_pcix_device_info(void)
 }
 
 int do_show_pcix_device_info(cmd_tbl_t * cmdtp, int flag, int argc,
-			     char *argv[])
+			     char * const argv[])
 {
 	show_pcix_device_info();
 	return 0;
@@ -226,7 +226,7 @@ U_BOOT_CMD(xdevinfo, 1, 1, do_show_pcix_device_info,
 
 extern void show_reset_reg(void);
 
-int do_show_reset_reg_info(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_show_reset_reg_info(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	show_reset_reg();
 	return 0;
board/amcc/taishan/update.c +1 -1
index aab3a65..3f063a0 100644
@@ -68,7 +68,7 @@ static int update_boot_eeprom(void)
 	return 0;
 }
 
-int do_update_boot_eeprom(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_update_boot_eeprom(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	return update_boot_eeprom();
 }
board/amcc/yucca/cmd_yucca.c +3 -3
index ed6daa3..cde13e4 100644
@@ -31,10 +31,10 @@
 
 extern void print_evb440spe_info(void);
 static int setBootStrapClock(cmd_tbl_t *cmdtp, int incrflag,
-		int flag, int argc, char *argv[]);
+		int flag, int argc, char * const argv[]);
 
 /* ------------------------------------------------------------------------- */
-int do_evb440spe(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_evb440spe(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	return setBootStrapClock (cmdtp, 1, flag, argc, argv);
 }
@@ -46,7 +46,7 @@ int do_evb440spe(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
  *	evb440spe wrclk prom0,prom1
  */
 static int setBootStrapClock(cmd_tbl_t *cmdtp, int incrflag, int flag,
-		int argc, char *argv[])
+		int argc, char * const argv[])
 {
 	uchar	chip;
 	ulong	data;
board/amirix/ap1000/ap1000.c +5 -5
index cadfe0b..c8dd99e 100644
@@ -167,7 +167,7 @@ unsigned int get_device (void)
 /*
    This function loads FPGA configurations from the SystemACE CompactFlash
 */
-int do_loadace (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_loadace (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned char *p = (unsigned char *) AP1000_SYSACE_REGBASE;
 	int cfg;
@@ -247,7 +247,7 @@ int do_loadace (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
   *     -1 if failed
   * </pre>
   */
-int do_swconfigbyte (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_swconfigbyte (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned char *sector_buffer = NULL;
 	unsigned char input_char;
@@ -311,7 +311,7 @@ int do_swconfigbyte (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 
 #define ONE_SECOND 1000000
 
-int do_pause (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_pause (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	int pause_time;
 	unsigned int delay_time;
@@ -345,7 +345,7 @@ int do_pause (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 	return 0;
 }
 
-int do_swreconfig (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_swreconfig (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	printf ("Triggering software reconfigure (software config byte is 0x%02x)...\n",
 		*((unsigned char *) (SW_BYTE_SECTOR_ADDR + SW_BYTE_SECTOR_OFFSET)));
@@ -365,7 +365,7 @@ int do_swreconfig (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 #define TEMP_ETHERM_BIT 0x02
 #define TEMP_LTHERM_BIT 0x01
 
-int do_temp_sensor (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_temp_sensor (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	char cmd;
 	int ret_val = 0;
board/amirix/ap1000/powerspan.c +2 -2
index 28e2bbc..55451b1 100644
@@ -364,7 +364,7 @@ int EEPROMWrite (unsigned char theI2CAddress, unsigned char theValue)
 			  &theValue, I2C_WRITE);
 }
 
-int do_eeprom (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_eeprom (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	char cmd;
 	int ret_val = 0;
@@ -690,7 +690,7 @@ int SetTargetImage (int theImageIndex, unsigned int theBlockSize,
 	return 0;
 }
 
-int do_bridge (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bridge (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	char cmd;
 	int ret_val = 1;
board/barco/barco.c +1 -1
index c5fe8c4..b8d968b 100644
@@ -288,7 +288,7 @@ void barcobcd_boot (void)
 	do_bootm (NULL,0,2,bootm_args);
 }
 
-int barcobcd_boot_image (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int barcobcd_boot_image (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 #if 0
 	if (argc > 1) {
board/bc3450/cmd_bc3450.c +6 -6
index 271ffb1..a9e4902 100644
@@ -173,7 +173,7 @@ int sm501_gpio_init (void)
  * read and prints the dip switch
  * and/or external config inputs (4bits) 0...0x0F
  */
-int cmd_dip (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int cmd_dip (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	vu_long rc = 0;
 
@@ -205,7 +205,7 @@ U_BOOT_CMD (dip, 1, 1, cmd_dip,
  * buz - turns Buzzer on/off
  */
 #ifdef CONFIG_BC3450_BUZZER
-static int cmd_buz (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int cmd_buz (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	if (argc != 2) {
 		printf ("Usage:\nspecify one argument: \"on\" or \"off\"\n");
@@ -236,7 +236,7 @@ U_BOOT_CMD (buz, 2, 1, cmd_buz,
 /*
  * fp - front panel commands
  */
-static int cmd_fp (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int cmd_fp (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	sm501_gpio_init ();
 
@@ -491,7 +491,7 @@ static void ds1620_write_state (struct therm *therm)
 	ds1620_out (THERM_START_CONVERT, 0, 0);
 }
 
-static int cmd_temp (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int cmd_temp (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	int i;
 	struct therm therm;
@@ -682,7 +682,7 @@ int can_init (void)
  * return 1 on CAN failure
  * return 0 if no failure
  */
-int do_can (char *argv[])
+int do_can (char * const argv[])
 {
 	int i;
 	struct mpc5xxx_mscan *can1 =
@@ -777,7 +777,7 @@ int do_can (char *argv[])
 /*
  * test - BC3450 HW test routines
  */
-int cmd_test (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int cmd_test (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 #ifdef CONFIG_BC3450_CAN
 	int rcode;
board/bf537-stamp/cmd_bf537led.c +1 -1
index 317f088..7d8f3ea 100644
@@ -80,7 +80,7 @@ int atoi(char *string)
 	return retval;
 }
 
-int do_bf537led(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bf537led(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	int led_mask = 0;
 	int led_current_state = 0;
board/cm-bf527/gpio.c +1 -1
index dcf641b..7e0babe 100644
@@ -11,7 +11,7 @@
 
 #include <asm/blackfin.h>
 
-int do_gpio(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_gpio(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	if (argc != 3) {
  show_usage:
board/cm-bf537e/flash.c +1 -1
index 25aeed2..a4c1ec0 100644
@@ -11,7 +11,7 @@
 #include <asm/blackfin.h>
 #include "gpio_cfi_flash.h"
 
-int do_pf(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_pf(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong faddr = CONFIG_SYS_FLASH_BASE;
 	ushort data;
board/cm-bf537u/flash.c +1 -1
index ebe17b6..52abe79 100644
@@ -11,7 +11,7 @@
 #include <asm/blackfin.h>
 #include "gpio_cfi_flash.h"
 
-int do_ph(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_ph(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong faddr = CONFIG_SYS_FLASH_BASE;
 	ushort data;
board/cm5200/cmd_cm5200.c +5 -5
index cd98ae2..df372d9 100644
@@ -29,7 +29,7 @@
 
 #ifdef CONFIG_CMD_BSP
 
-static int do_i2c_test(char *argv[])
+static int do_i2c_test(char * const argv[])
 {
 	unsigned char temp, temp1;
 
@@ -57,7 +57,7 @@ static int do_i2c_test(char *argv[])
 	return 0;
 }
 
-static int do_usb_test(char *argv[])
+static int do_usb_test(char * const argv[])
 {
 	int i;
 	static int usb_stor_curr_dev = -1; /* current device */
@@ -90,7 +90,7 @@ static int do_usb_test(char *argv[])
 	return 0;
 }
 
-static int do_led_test(char *argv[])
+static int do_led_test(char * const argv[])
 {
 	int i = 0;
 	struct mpc5xxx_gpt_0_7 *gpt = (struct mpc5xxx_gpt_0_7 *)MPC5XXX_GPT;
@@ -134,7 +134,7 @@ static int do_led_test(char *argv[])
 	return 0;
 }
 
-static int do_rs232_test(char *argv[])
+static int do_rs232_test(char * const argv[])
 {
 	int error_status = 0;
 	struct mpc5xxx_gpio *gpio = (struct mpc5xxx_gpio *)MPC5XXX_GPIO;
@@ -397,7 +397,7 @@ static int do_rs232_test(char *argv[])
 	return error_status;
 }
 
-static int cmd_fkt(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int cmd_fkt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int rcode = -1;
 
board/cm5200/fwupdate.c +4 -4
index 5a27191..c1a4a19 100644
@@ -35,9 +35,9 @@
 
 #include "fwupdate.h"
 
-extern int do_bootm(cmd_tbl_t *, int, int, char *[]);
+extern int do_bootm(cmd_tbl_t *, int, int, char * const []);
 extern long do_fat_read(const char *, void *, unsigned long, int);
-extern int do_fat_fsload(cmd_tbl_t *, int, int, char *[]);
+extern int do_fat_fsload(cmd_tbl_t *, int, int, char * const []);
 
 static int load_rescue_image(ulong);
 
@@ -47,7 +47,7 @@ void cm5200_fwupdate(void)
 	char *rsargs;
 	char *tmp = NULL;
 	char ka[16];
-	char *argv[3] = { "bootm", ka, NULL };
+	char * const argv[3] = { "bootm", ka, NULL };
 
 	/* Check if rescue system is disabled... */
 	if (getenv("norescue")) {
@@ -99,7 +99,7 @@ static int load_rescue_image(ulong addr)
 	char *tmp;
 	char dev[7];
 	char addr_str[16];
-	char *argv[6] = { "fatload", "usb", dev, addr_str, nxri, NULL };
+	char * const argv[6] = { "fatload", "usb", dev, addr_str, nxri, NULL };
 	block_dev_desc_t *stor_dev = NULL;
 	cmd_tbl_t *bcmd;
 
board/delta/delta.c +1 -1
index a294213..68c39d2 100644
@@ -240,7 +240,7 @@ static uchar *key_match (uchar *kbd_data)
 	return (NULL);
 }
 
-int do_kbd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_kbd (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	uchar kbd_data[KEYBD_DATALEN];
 	char keybd_env[2 * KEYBD_DATALEN + 1];
board/digsy_mtc/cmd_mtc.c +11 -11
index ecea5b3..621980d 100644
@@ -68,7 +68,7 @@ static void mtc_calculate_checksum(tx_msp_cmd *packet)
 		packet->cks += buff[i];
 }
 
-static int do_mtc_led(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int do_mtc_led(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	tx_msp_cmd pcmd;
 	rx_msp_cmd prx;
@@ -120,7 +120,7 @@ static int do_mtc_led(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	return err;
 }
 
-static int do_mtc_key(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int do_mtc_key(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	tx_msp_cmd pcmd;
 	rx_msp_cmd prx;
@@ -142,7 +142,7 @@ static int do_mtc_key(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	return err;
 }
 
-static int do_mtc_digout(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int do_mtc_digout(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	tx_msp_cmd pcmd;
 	rx_msp_cmd prx;
@@ -171,7 +171,7 @@ static int do_mtc_digout(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	return err;
 }
 
-static int do_mtc_digin(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int do_mtc_digin(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	tx_msp_cmd pcmd;
 	rx_msp_cmd prx;
@@ -205,7 +205,7 @@ static int do_mtc_digin(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	return err;
 }
 
-static int do_mtc_appreg(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int do_mtc_appreg(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	tx_msp_cmd pcmd;
 	rx_msp_cmd prx;
@@ -232,7 +232,7 @@ static int do_mtc_appreg(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	return err;
 }
 
-static int do_mtc_version(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int do_mtc_version(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	tx_msp_cmd pcmd;
 	rx_msp_cmd prx;
@@ -254,7 +254,7 @@ static int do_mtc_version(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	return err;
 }
 
-static int do_mtc_state(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int do_mtc_state(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	tx_msp_cmd pcmd;
 	rx_msp_cmd prx;
@@ -281,7 +281,7 @@ static int do_mtc_state(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	return err;
 }
 
-static int do_mtc_help(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+static int do_mtc_help(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 
 cmd_tbl_t cmd_mtc_sub[] = {
 	U_BOOT_CMD_MKENT(led, 3, 1, do_mtc_led,
@@ -308,11 +308,11 @@ cmd_tbl_t cmd_mtc_sub[] = {
 	"[command] - get help for command\n"),
 };
 
-static int do_mtc_help(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int do_mtc_help(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	extern int _do_help(cmd_tbl_t *cmd_start, int cmd_items,
 			    cmd_tbl_t *cmdtp, int flag,
-			    int argc, char *argv[]);
+			    int argc, char * const argv[]);
 #ifdef CONFIG_SYS_LONGHELP
 	puts("mtc ");
 #endif
@@ -320,7 +320,7 @@ static int do_mtc_help(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 			ARRAY_SIZE(cmd_mtc_sub), cmdtp, flag, argc, argv);
 }
 
-int cmd_mtc(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int cmd_mtc(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	cmd_tbl_t *c;
 	int err = 0;
board/eltec/bab7xx/bab7xx.c +1 -1
index 1f78f8d..f5c9777 100644
@@ -184,7 +184,7 @@ void after_reloc (ulong dest_addr)
  * do_reset is done here because in this case it is board specific, since the
  * 7xx CPUs can only be reset by external HW (the RTC in this case).
  */
-void do_reset (cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+void do_reset (cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char * const argv[])
 {
 #if defined(CONFIG_RTC_MK48T59)
 	/* trigger watchdog immediately */
board/eltec/elppc/elppc.c +1 -1
index e73c712..cb9ab86 100644
@@ -117,7 +117,7 @@ phys_size_t initdram (int board_type)
  * Register PI in the MPC 107 (at offset 0x41090 of the Embedded Utilities
  * Memory Block).
  */
-int do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	out8 (MPC107_EUMB_PI, 1);
 	return (0);
board/esd/apc405/apc405.c +1 -1
index 72c0907..b58c1eb 100644
@@ -37,7 +37,7 @@ DECLARE_GLOBAL_DATA_PTR;
 
 #undef FPGA_DEBUG
 
-extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 extern void lxt971_no_sleep(void);
 extern ulong flash_get_size (ulong base, int banknum);
 
board/esd/ar405/ar405.c +4 -4
index a632cb4..21b2432 100644
@@ -30,7 +30,7 @@
 DECLARE_GLOBAL_DATA_PTR;
 
 /*cmd_boot.c*/
-extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 extern void lxt971_no_sleep(void);
 
 /* ------------------------------------------------------------------------- */
@@ -196,7 +196,7 @@ int checkboard (void)
 /*
  * Some test routines
  */
-int do_digtest(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_digtest(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int i;
 	int k;
@@ -257,7 +257,7 @@ struct io {
 	short dummy;
 };
 
-int do_anatest(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_anatest(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	short val;
 	int i;
@@ -353,7 +353,7 @@ void cyclicInt(void *ptr)
 }
 
 
-int do_inctest(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_inctest(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong *incin;
 	int i;
board/esd/ash405/ash405.c +1 -1
index 0615959..03c4098 100644
@@ -33,7 +33,7 @@
 #define FPGA_DEBUG
 #endif
 
-extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 extern void lxt971_no_sleep(void);
 
 /* fpga configuration data - gzip compressed and generated by bin2c */
board/esd/canbt/canbt.c +1 -1
index 5a3f61d..bfec548 100644
@@ -30,7 +30,7 @@
 DECLARE_GLOBAL_DATA_PTR;
 
 /*cmd_boot.c*/
-extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 
 
 /* ------------------------------------------------------------------------- */
board/esd/cms700/cms700.c +1 -1
index 391fbf4..20346e1 100644
@@ -157,7 +157,7 @@ int eeprom_write_enable (unsigned dev_addr, int state)
 	return state;
 }
 
-int do_eep_wren (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_eep_wren (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int query = argc == 1;
 	int state = 0;
board/esd/common/auto_update.c +1 -1
index c4a49e2..4dfea71 100644
@@ -492,7 +492,7 @@ int do_auto_update(void)
 	return 0;
 }
 
-int auto_update(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int auto_update(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	do_auto_update();
 
board/esd/common/cmd_loadpci.c +1 -1
index eecae0a..87da27d 100644
@@ -37,7 +37,7 @@ extern int do_source (cmd_tbl_t *, int, int, char *[]);
 /*
  * Command loadpci: wait for signal from host and boot image.
  */
-int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	u32 *ptr = 0;
 	int count = 0;
board/esd/common/lcd.c +1 -1
index 5c50b4c..9109b64 100644
@@ -339,7 +339,7 @@ int lcd_init(uchar *lcd_reg, uchar *lcd_mem, S1D_REGS *regs, int reg_count,
 	return lcd_bmp(logo_bmp);
 }
 
-int do_esdbmp(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_esdbmp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong addr;
 #ifdef CONFIG_VIDEO_SM501
board/esd/common/xilinx_jtag/micro.c +1 -1
index 414e821..9823e5e 100644
@@ -1828,7 +1828,7 @@ int xsvfExecute(void)
  *               ppzArgv  - array of ptrs to strings (command-line arguments).
  * Returns:      int      - Legacy return value:  1 = success; 0 = error.
  *****************************************************************************/
-int do_cpld(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_cpld(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int     iErrorCode;
 	char*   pzXsvfFileName;
board/esd/cpci2dp/cpci2dp.c +1 -1
index 6d9814f..00456a7 100644
@@ -149,7 +149,7 @@ int eeprom_write_enable (unsigned dev_addr, int state) {
 #endif
 
 #if defined(CONFIG_SYS_EEPROM_WREN)
-int do_eep_wren (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_eep_wren (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int query = argc == 1;
 	int state = 0;
board/esd/cpci405/cpci405.c +4 -4
index 24db883..51d3355 100644
@@ -32,7 +32,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 extern void __ft_board_setup(void *blob, bd_t *bd);
 
 #undef FPGA_DEBUG
@@ -650,7 +650,7 @@ int OWReadByte(void)
 	return result;
 }
 
-int do_onewire(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_onewire(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned short val;
 	int result;
@@ -698,7 +698,7 @@ U_BOOT_CMD(
 /*
  * Write backplane ip-address...
  */
-int do_get_bpip(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_get_bpip(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	bd_t *bd = gd->bd;
 	char *buf;
@@ -756,7 +756,7 @@ U_BOOT_CMD(
 /*
  * Set and print backplane ip...
  */
-int do_set_bpip(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_set_bpip(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	char *buf;
 	char str[32];
board/esd/cpci5200/cpci5200.c +1 -1
index 36fcf7f..abac217 100644
@@ -265,7 +265,7 @@ int board_eth_init(bd_t *bis)
 	return pci_eth_init(bis);
 }
 
-int do_writepci(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_writepci(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned int addr;
 	unsigned int size;
board/esd/cpci750/cpci750.c +3 -3
index a199d46..f9f7c7f 100644
@@ -562,7 +562,7 @@ int display_mem_map (void)
 /*
  * Command loadpci: wait for signal from host and boot image.
  */
-int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	volatile unsigned int *ptr;
 	int count = 0;
@@ -1056,7 +1056,7 @@ void board_prebootm_init ()
 	dcache_disable ();
 }
 
-int do_show_config(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_show_config(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned int reset_sample_low;
 	unsigned int reset_sample_high;
@@ -1091,7 +1091,7 @@ U_BOOT_CMD(
 	"Show Marvell strapping register (ResetSampleLow ResetSampleHigh)"
 );
 
-int do_pldver(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_pldver(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	printf("PLD version:0x%02x\n", in_8((void *)CONFIG_SYS_PLD_VER));
 
board/esd/cpci750/sdram_init.c +1 -1
index 5347958..615e32a 100644
@@ -1811,7 +1811,7 @@ int set_dfcdlInit (void)
 	return (0);
 }
 
-int do_show_ecc(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_show_ecc(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned int ecc_counter;
 	unsigned int ecc_addr;
board/esd/cpciiser4/cpciiser4.c +1 -1
index ee90e2c..dcea50e 100644
@@ -30,7 +30,7 @@ DECLARE_GLOBAL_DATA_PTR;
 
 /*cmd_boot.c*/
 
-extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 extern void lxt971_no_sleep(void);
 
 
board/esd/dasa_sim/cmd_dasa_sim.c +1 -1
index 675e507..aa74376 100644
@@ -204,7 +204,7 @@ static void clearPci9054 (void)
 
 /* ------------------------------------------------------------------------- */
 int do_pci9054 (cmd_tbl_t * cmdtp, int flag, int argc,
-				char *argv[])
+				char * const argv[])
 {
 	if (strcmp (argv[1], "info") == 0) {
 		showPci9054 ();
board/esd/du405/du405.c +1 -1
index f475d11..aa7ee92 100644
@@ -32,7 +32,7 @@ DECLARE_GLOBAL_DATA_PTR;
 
 /*cmd_boot.c*/
 
-extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 extern void lxt971_no_sleep(void);
 
 
board/esd/du440/du440.c +8 -8
index 111cce5..ba3c97c 100644
@@ -409,7 +409,7 @@ int dcf77_status(void)
 	return mv;
 }
 
-int do_dcf77(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_dcf77(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int mv;
 	u32 pin, pinold;
@@ -490,7 +490,7 @@ int usbhub_init(void)
 	return ret;
 }
 
-int do_hubinit(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_hubinit(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	usbhub_init();
 	return 0;
@@ -573,7 +573,7 @@ int boot_eeprom_write (unsigned dev_addr,
 	return rcode;
 }
 
-int do_setup_boot_eeprom(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_setup_boot_eeprom(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong sdsdp[4];
 
@@ -673,7 +673,7 @@ int eeprom_write_enable (unsigned dev_addr, int state)
 	return state;
 }
 
-int do_eep_wren (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_eep_wren (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int query = argc == 1;
 	int state = 0;
@@ -727,7 +727,7 @@ static int pld_interrupt(u32 arg)
 	return rc;
 }
 
-int do_waitpwrirq(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_waitpwrirq(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	got_pldirq = 0;
 
@@ -795,7 +795,7 @@ int dvi_init(void)
 	return ret;
 }
 
-int do_dviinit(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_dviinit(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	dvi_init();
 	return 0;
@@ -810,7 +810,7 @@ U_BOOT_CMD(
  * TODO: 'time' command might be useful for others as well.
  *       Move to 'common' directory.
  */
-int do_time(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_time(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned long long start, end;
 	char c, cmd[CONFIG_SYS_CBSIZE];
@@ -874,7 +874,7 @@ unsigned int prng(unsigned int max)
 	return Y;
 }
 
-int do_gfxdemo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_gfxdemo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned int color;
 	unsigned int x, y, dx, dy;
board/esd/hh405/hh405.c +2 -2
index 4251d51..ca7868c 100644
@@ -236,7 +236,7 @@ static const SMI_REGS init_regs_1024x768 [] =
 #define FPGA_DEBUG
 #endif
 
-extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 extern void lxt971_no_sleep(void);
 
 /* fpga configuration data - gzip compressed and generated by bin2c */
@@ -733,7 +733,7 @@ int eeprom_write_enable (unsigned dev_addr, int state)
 	return state;
 }
 
-int do_eep_wren (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_eep_wren (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int query = argc == 1;
 	int state = 0;
board/esd/ocrtc/cmd_ocrtc.c +2 -2
index 5f3254d..b59689b 100644
@@ -33,7 +33,7 @@
 /*
  * Set device number on pci board
  */
-int do_setdevice(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_setdevice(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int idx = 1;	  /* start at 1 (skip device 0) */
 	pci_dev_t bdf = 0;
@@ -62,7 +62,7 @@ U_BOOT_CMD(
 /*
  * Get device number on pci board
  */
-int do_getdevice(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_getdevice(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	u32 device;
 	char str[32];
board/esd/pci405/cmd_pci405.c +1 -1
index 1d14611..2fc9fda 100644
@@ -39,7 +39,7 @@ extern int do_bootm (cmd_tbl_t *, int, int, char *[]);
 /*
  * Command loadpci: wait for signal from host and boot image.
  */
-int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned int *ptr = 0;
 	int count = 0;
board/esd/pci405/pci405.c +2 -2
index 5364857..b0d7663 100644
@@ -34,7 +34,7 @@
 DECLARE_GLOBAL_DATA_PTR;
 
 /* Prototypes */
-int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 unsigned long fpga_done_state(void);
 unsigned long fpga_init_state(void);
 
@@ -356,7 +356,7 @@ int wpeeprom(int wp)
 	return wp_state;
 }
 
-int do_wpeeprom(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_wpeeprom(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int wp = -1;
 	if (argc >= 2) {
board/esd/pf5200/pf5200.c +3 -3
index 4e64e83..83dbfcb 100644
@@ -288,7 +288,7 @@ void power_set_reset(int power)
 	}
 }
 
-int do_poweroff(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_poweroff(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	power_set_reset(1);
 	return (0);
@@ -325,7 +325,7 @@ int phypower(int flag)
 	return (status);
 }
 
-int do_phypower(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_phypower(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	int status;
 
@@ -340,7 +340,7 @@ int do_phypower(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 U_BOOT_CMD(phypower, 2, 2, do_phypower,
 	   "Switch power of ethernet phy", "");
 
-int do_writepci(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_writepci(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned int addr;
 	unsigned int size;
board/esd/plu405/plu405.c +2 -2
index 0f7fa69..3a8a4cf 100644
@@ -32,7 +32,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 extern void lxt971_no_sleep(void);
 
 /* fpga configuration data - gzip compressed and generated by bin2c */
@@ -322,7 +322,7 @@ int eeprom_write_enable(unsigned dev_addr, int state)
 	return state;
 }
 
-int do_eep_wren(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_eep_wren(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int query = argc == 1;
 	int state = 0;
board/esd/pmc405de/pmc405de.c +4 -4
index 3725ece..b84e08a 100644
@@ -374,7 +374,7 @@ int eeprom_write_enable(unsigned dev_addr, int state)
 	return state;
 }
 
-int do_eep_wren(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_eep_wren(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int query = argc == 1;
 	int state = 0;
@@ -417,7 +417,7 @@ U_BOOT_CMD(eepwren, 2, 0, do_eep_wren,
 #include <environment.h>
 extern env_t *env_ptr;
 
-int do_painit(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_painit(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	u32 pram, nextbase, base;
 	char *v;
@@ -477,7 +477,7 @@ U_BOOT_CMD(
 );
 #endif /* CONFIG_PRAM */
 
-int do_selfreset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_selfreset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	struct ppc4xx_gpio *gpio0 = (struct ppc4xx_gpio *)GPIO_BASE;
 	setbits_be32(&gpio0->tcr, CONFIG_SYS_GPIO_SELFRST_N);
@@ -489,7 +489,7 @@ U_BOOT_CMD(
 	""
 );
 
-int do_resetout(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_resetout(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	struct pmc405de_cpld *cpld =
 		(struct pmc405de_cpld *)CONFIG_SYS_CPLD_BASE;
board/esd/pmc440/cmd_pmc440.c +9 -9
index 476e940..200d7ee 100644
@@ -67,7 +67,7 @@ int fpga_interrupt(u32 arg)
 	return rc;
 }
 
-int do_waithci(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_waithci(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	pmc440_fpga_t *fpga = (pmc440_fpga_t *)FPGA_BA;
 
@@ -118,7 +118,7 @@ void dump_fifo(pmc440_fpga_t *fpga, int f, int *n)
 	}
 }
 
-int do_fifo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_fifo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	pmc440_fpga_t *fpga = (pmc440_fpga_t *)FPGA_BA;
 	int i;
@@ -269,7 +269,7 @@ U_BOOT_CMD(
 	"'fifo' or 'address'"
 );
 
-int do_setup_bootstrap_eeprom(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_setup_bootstrap_eeprom(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong sdsdp[5];
 	ulong delay;
@@ -344,7 +344,7 @@ U_BOOT_CMD(
 #include <environment.h>
 extern env_t *env_ptr;
 
-int do_painit(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_painit(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	u32 pram, nextbase, base;
 	char *v;
@@ -404,7 +404,7 @@ U_BOOT_CMD(
 );
 #endif /* CONFIG_PRAM */
 
-int do_selfreset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_selfreset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	in_be32((void*)CONFIG_SYS_RESET_BASE);
 	return 0;
@@ -415,7 +415,7 @@ U_BOOT_CMD(
 	""
 );
 
-int do_resetout(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_resetout(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	pmc440_fpga_t *fpga = (pmc440_fpga_t *)FPGA_BA;
 
@@ -452,7 +452,7 @@ U_BOOT_CMD(
 	""
 );
 
-int do_inta(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_inta(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	if (is_monarch()) {
 		printf("This command is only supported in non-monarch mode\n");
@@ -485,7 +485,7 @@ U_BOOT_CMD(
 );
 
 /* test-only */
-int do_pmm(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_pmm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong pciaddr;
 
@@ -518,7 +518,7 @@ U_BOOT_CMD(
 );
 
 #if defined(CONFIG_SYS_EEPROM_WREN)
-int do_eep_wren(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_eep_wren(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int query = argc == 1;
 	int state = 0;
board/esd/tasreg/tasreg.c +7 -7
index bd9fb2f..270caac 100644
@@ -29,7 +29,7 @@
 
 
 /* Prototypes */
-int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len);
 int i2c_read(uchar chip, uint addr, int alen, uchar *buffer, int len);
 
@@ -219,7 +219,7 @@ int i2c_probe(uchar addr);
 
 /*
  */
-int do_iploop(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_iploop(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong addr;
 
@@ -254,7 +254,7 @@ U_BOOT_CMD(
 
 /*
  */
-int do_codec(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_codec(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	uchar buf[8];
 
@@ -307,7 +307,7 @@ U_BOOT_CMD(
 
 /*
  */
-int do_saa(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_saa(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong addr;
 	ulong instr;
@@ -340,7 +340,7 @@ U_BOOT_CMD(
 
 /*
  */
-int do_iwrite(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_iwrite(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong addr;
 	ulong data0;
@@ -379,7 +379,7 @@ U_BOOT_CMD(
 
 /*
  */
-int do_iread(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_iread(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong addr;
 	ulong cnt;
@@ -411,7 +411,7 @@ U_BOOT_CMD(
 
 /*
  */
-int do_ireadl(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_ireadl(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong addr;
 	uchar buf[32];
board/esd/vme8349/caddy.c +1 -1
index bda4117..ca8357d 100644
@@ -53,7 +53,7 @@ void generate_answer(struct caddy_cmd *cmd, uint32_t status, uint32_t *result)
 		caddy_interface->answer_in = ptr;
 }
 
-int do_caddy(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_caddy(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned long base_addr;
 	uint32_t ptr;
board/esd/voh405/voh405.c +2 -2
index a5600de..6ed493e 100644
@@ -33,7 +33,7 @@
 #define FPGA_DEBUG
 #endif
 
-extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 extern void lxt971_no_sleep(void);
 
 /* fpga configuration data - gzip compressed and generated by bin2c */
@@ -356,7 +356,7 @@ int eeprom_write_enable (unsigned dev_addr, int state)
 	return state;
 }
 
-int do_eep_wren (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_eep_wren (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int query = argc == 1;
 	int state = 0;
board/esd/wuh405/wuh405.c +1 -1
index 01966ee..704cd02 100644
@@ -32,7 +32,7 @@
 #define FPGA_DEBUG
 #endif
 
-extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 
 /* fpga configuration data - gzip compressed and generated by bin2c */
 const unsigned char fpgadata[] =
board/evb64260/zuma_pbb.c +3 -3
index cab4fca..aa15fa0 100644
@@ -174,14 +174,14 @@ static int last_cmd = 4;		/* write increment */
 static int last_size = 64;
 
 int
-do_zuma_init_pbb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+do_zuma_init_pbb (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	zuma_init_pbb ();
 	return 0;
 }
 
 int
-do_zuma_test_dma (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+do_zuma_test_dma (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	if (argc > 1) {
 		last_cmd = simple_strtoul (argv[1], NULL, 10);
@@ -194,7 +194,7 @@ do_zuma_test_dma (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 }
 
 int
-do_zuma_init_mbox (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+do_zuma_init_mbox (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	zuma_mbox_init ();
 	return 0;
board/freescale/common/ngpixis.c +1 -1
index bb6794e..a135fbe 100644
@@ -92,7 +92,7 @@ void set_altbank(void)
 }
 
 
-int pixis_reset_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int pixis_reset_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned int i;
 	char *p_altbank = NULL;
board/freescale/common/pixis.c +3 -3
index 119eaf9..a35b5cf 100644
@@ -284,7 +284,7 @@ static void set_px_go_with_watchdog(void)
  *
  */
 static int pixis_disable_watchdog_cmd(cmd_tbl_t *cmdtp, int flag, int argc,
-				      char *argv[])
+				      char * const argv[])
 {
 	/* Disable the VELA sequencer and the watchdog */
 	clrbits_8(pixis_base + PIXIS_VCTL, 9);
@@ -302,7 +302,7 @@ U_BOOT_CMD(
 
 /* Enable or disable SGMII mode for a TSEC
  */
-static int pixis_set_sgmii(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int pixis_set_sgmii(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int which_tsec = -1;
 	unsigned char mask;
@@ -430,7 +430,7 @@ static unsigned long strfractoint(char *strptr)
 	return intval + decval;
 }
 
-static int pixis_reset_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int pixis_reset_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned int i;
 	char *p_cf = NULL;
board/freescale/common/sys_eeprom.c +1 -1
index 661015e..5a8f4f5 100644
@@ -314,7 +314,7 @@ static void set_mac_address(unsigned int index, const char *string)
 	update_crc();
 }
 
-int do_mac(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_mac(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	char cmd;
 
board/freescale/m5249evb/m5249evb.c +1 -1
index b1ccbeb..ac1937b 100644
@@ -28,7 +28,7 @@
 
 
 /* Prototypes */
-int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 
 int checkboard (void) {
 	ulong val;
board/freescale/mpc8610hpcd/mpc8610hpcd_diu.c +1 -1
index a7b7f45..0b7f787 100644
@@ -111,7 +111,7 @@ void mpc8610hpcd_diu_init(void)
 }
 
 int mpc8610diu_init_show_bmp(cmd_tbl_t *cmdtp,
-			     int flag, int argc, char *argv[])
+			     int flag, int argc, char * const argv[])
 {
 	unsigned int addr;
 
board/funkwerk/vovpn-gw/vovpn-gw.c +1 -1
index 8c4abdd..889ba3f 100644
@@ -306,7 +306,7 @@ int misc_init_r (void)
 
 #if defined(CONFIG_HAVE_OWN_RESET)
 int
-do_reset (void *cmdtp, int flag, int argc, char *argv[])
+do_reset (void *cmdtp, int flag, int argc, char * const argv[])
 {
 	volatile ioport_t *iop;
 
board/g2000/g2000.c +3 -3
index 03cd6b8..8b15e51 100644
@@ -148,7 +148,7 @@ phys_size_t initdram (int board_type)
 }
 
 #if 0 /* test-only !!! */
-int do_dumpebc(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_dumpebc(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong ap, cr;
 
@@ -174,7 +174,7 @@ U_BOOT_CMD(
 );
 
 
-int do_dumpdcr(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_dumpdcr(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int i;
 
@@ -196,7 +196,7 @@ U_BOOT_CMD(
 );
 
 
-int do_dumpspr(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_dumpspr(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	printf("\nSpecial Purpose Registers (SPR's) for PPC405GP:");
 	printf("\n%04x %08x ", 947, mfspr(947));
board/hymod/bsp.c +3 -3
index 262070f..5dd0311 100644
@@ -141,7 +141,7 @@ fpga_load (int mezz, uchar *addr, ulong size)
 
 /* ------------------------------------------------------------------------- */
 int
-do_fpga (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+do_fpga (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	uchar *addr, *save_addr;
 	ulong size;
@@ -301,7 +301,7 @@ U_BOOT_CMD(
 );
 /* ------------------------------------------------------------------------- */
 int
-do_eecl (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+do_eecl (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	uchar data[HYMOD_EEPROM_SIZE];
 	uint addr = CONFIG_SYS_I2C_EEPROM_ADDR;
@@ -346,7 +346,7 @@ U_BOOT_CMD(
 /* ------------------------------------------------------------------------- */
 
 int
-do_htest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+do_htest (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 #if 0
 	int rc;
board/inka4x0/inkadiag.c +7 -7
index 0a75abd..637bb5a 100644
@@ -131,7 +131,7 @@ static void inka_digio_set_output(unsigned int state, int which)
 }
 
 static int do_inkadiag_io(cmd_tbl_t *cmdtp, int flag, int argc,
-			  char *argv[]) {
+			  char * const argv[]) {
 	unsigned int state, val;
 
 	switch (argc) {
@@ -237,7 +237,7 @@ static int ser_getc(volatile struct mpc5xxx_psc *psc)
 }
 
 static int do_inkadiag_serial(cmd_tbl_t *cmdtp, int flag, int argc,
-			      char *argv[]) {
+			      char * const argv[]) {
 	volatile struct NS16550 *uart;
 	volatile struct mpc5xxx_psc *psc;
 	unsigned int num, mode;
@@ -389,7 +389,7 @@ static void buzzer_turn_off(void)
 }
 
 static int do_inkadiag_buzzer(cmd_tbl_t *cmdtp, int flag, int argc,
-			      char *argv[]) {
+			      char * const argv[]) {
 
 	unsigned int period, freq;
 	int prev, i;
@@ -435,7 +435,7 @@ static int do_inkadiag_buzzer(cmd_tbl_t *cmdtp, int flag, int argc,
 	return 0;
 }
 
-static int do_inkadiag_help(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+static int do_inkadiag_help(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 
 cmd_tbl_t cmd_inkadiag_sub[] = {
 	U_BOOT_CMD_MKENT(io, 1, 1, do_inkadiag_io, "read digital input",
@@ -450,10 +450,10 @@ cmd_tbl_t cmd_inkadiag_sub[] = {
 };
 
 static int do_inkadiag_help(cmd_tbl_t *cmdtp, int flag,
-			    int argc, char *argv[]) {
+			    int argc, char * const argv[]) {
 	extern int _do_help (cmd_tbl_t *cmd_start, int cmd_items,
 			     cmd_tbl_t *cmdtp, int flag,
-			     int argc, char *argv[]);
+			     int argc, char * const argv[]);
 	/* do_help prints command name - we prepend inkadiag to our subcommands! */
 #ifdef CONFIG_SYS_LONGHELP
 	puts ("inkadiag ");
@@ -463,7 +463,7 @@ static int do_inkadiag_help(cmd_tbl_t *cmdtp, int flag,
 }
 
 static int do_inkadiag(cmd_tbl_t *cmdtp, int flag, int argc,
-		       char *argv[]) {
+		       char * const argv[]) {
 	cmd_tbl_t *c;
 
 	c = find_cmd_tbl(argv[1], &cmd_inkadiag_sub[0], ARRAY_SIZE(cmd_inkadiag_sub));
board/keymile/km_arm/km_arm.c +1 -1
index 53cf474..3a33b5a 100644
@@ -183,7 +183,7 @@ int board_init(void)
 }
 
 #if defined(CONFIG_CMD_SF)
-int do_spi_toggle(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_spi_toggle(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	u32 tmp;
 	if (argc < 2) {
board/lwmon/lwmon.c +9 -9
index 8e27778..61a1e14 100644
@@ -791,7 +791,7 @@ void lcd_show_board_info(void)
 #if defined(CONFIG_CMD_BSP)
 /***********************************************************************
 F* Function:     int do_pic (cmd_tbl_t *cmdtp, int flag,
-F*                           int argc, char *argv[]) P*A*Z*
+F*                           int argc, char * const argv[]) P*A*Z*
  *
 P* Parameters:   cmd_tbl_t *cmdtp
 P*                - Pointer to our command table entry
@@ -800,7 +800,7 @@ P*                - If the CMD_FLAG_REPEAT bit is set, then this call is
 P*                  a repetition
 P*               int argc
 P*                - Argument count
-P*               char *argv[]
+P*               char * const argv[]
 P*                - Array of the actual arguments
 P*
 P* Returnvalue:  int
@@ -816,7 +816,7 @@ D* Design:       wd at denx.de
 C* Coding:       wd at denx.de
 V* Verification: dzu at denx.de
  ***********************************************************************/
-int do_pic (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_pic (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	uchar reg, val;
 
@@ -857,7 +857,7 @@ U_BOOT_CMD(
 
 /***********************************************************************
 F* Function:     int do_kbd (cmd_tbl_t *cmdtp, int flag,
-F*                           int argc, char *argv[]) P*A*Z*
+F*                           int argc, char * const argv[]) P*A*Z*
  *
 P* Parameters:   cmd_tbl_t *cmdtp
 P*                - Pointer to our command table entry
@@ -866,7 +866,7 @@ P*                - If the CMD_FLAG_REPEAT bit is set, then this call is
 P*                  a repetition
 P*               int argc
 P*                - Argument count
-P*               char *argv[]
+P*               char * const argv[]
 P*                - Array of the actual arguments
 P*
 P* Returnvalue:  int
@@ -881,7 +881,7 @@ D* Design:       wd at denx.de
 C* Coding:       wd at denx.de
 V* Verification: dzu at denx.de
  ***********************************************************************/
-int do_kbd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_kbd (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	uchar kbd_data[KEYBD_DATALEN];
 	char keybd_env[2 * KEYBD_DATALEN + 1];
@@ -918,7 +918,7 @@ U_BOOT_CMD(
 
 /***********************************************************************
 F* Function:     int do_lsb (cmd_tbl_t *cmdtp, int flag,
-F*                           int argc, char *argv[]) P*A*Z*
+F*                           int argc, char * const argv[]) P*A*Z*
  *
 P* Parameters:   cmd_tbl_t *cmdtp
 P*                - Pointer to our command table entry
@@ -927,7 +927,7 @@ P*                - If the CMD_FLAG_REPEAT bit is set, then this call is
 P*                  a repetition
 P*               int argc
 P*                - Argument count
-P*               char *argv[]
+P*               char * const argv[]
 P*                - Array of the actual arguments
 P*
 P* Returnvalue:  int
@@ -944,7 +944,7 @@ D* Design:       wd at denx.de
 C* Coding:       wd at denx.de
 V* Verification: dzu at denx.de
  ***********************************************************************/
-int do_lsb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_lsb (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	uchar val;
 	immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
board/lwmon5/kbd.c +3 -3
index be1a1df..0e26b89 100644
@@ -380,7 +380,7 @@ static uchar *key_match (uchar *kbd_data)
 
 /***********************************************************************
 F* Function:     int do_kbd (cmd_tbl_t *cmdtp, int flag,
-F*                           int argc, char *argv[]) P*A*Z*
+F*                           int argc, char * const argv[]) P*A*Z*
  *
 P* Parameters:   cmd_tbl_t *cmdtp
 P*                - Pointer to our command table entry
@@ -389,7 +389,7 @@ P*                - If the CMD_FLAG_REPEAT bit is set, then this call is
 P*                  a repetition
 P*               int argc
 P*                - Argument count
-P*               char *argv[]
+P*               char * const argv[]
 P*                - Array of the actual arguments
 P*
 P* Returnvalue:  int
@@ -404,7 +404,7 @@ D* Design:       wd at denx.de
 C* Coding:       wd at denx.de
 V* Verification: [email protected]
  ***********************************************************************/
-int do_kbd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_kbd (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	uchar kbd_data[KEYBD_DATALEN];
 	char keybd_env[2 * KEYBD_DATALEN + 1];
board/lwmon5/lwmon5.c +1 -1
index 415e036..3948c13 100644
@@ -304,7 +304,7 @@ void hw_watchdog_reset(void)
 	gpio_write_bit(CONFIG_SYS_GPIO_WATCHDOG, val);
 }
 
-int do_eeprom_wp(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_eeprom_wp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	if (argc < 2) {
 		cmd_usage(cmdtp);
board/micronas/vct/smc_eeprom.c +3 -3
index 6587f13..b5a5521 100644
@@ -316,7 +316,7 @@ DONE:
 	return result;
 }
 
-static int do_eeprom_dump(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int do_eeprom_dump(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	unchar data = 0, index = 0;
 	ulong gpio_old_val;
@@ -337,14 +337,14 @@ static int do_eeprom_dump(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	return 0;
 }
 
-static int do_eeprom_erase_all(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int do_eeprom_erase_all(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	eeprom_erase_all();
 
 	return 0;
 }
 
-static int do_eeprom_save_mac(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int do_eeprom_save_mac(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong hi16, lo32;
 	unchar ethaddr[6], i;
board/mpl/common/common_util.c +1 -1
index 32bf244..a3722b2 100644
@@ -428,7 +428,7 @@ void check_env(void)
 
 #endif /* #if !defined(CONFIG_PATI) */
 
-int do_mplcommon(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_mplcommon(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong size,src,ld_addr;
 	int result;
board/mpl/mip405/cmd_mip405.c +2 -2
index cd93a7c..8ddb54d 100644
@@ -30,12 +30,12 @@
 
 
 extern void print_mip405_info(void);
-extern int do_mplcommon(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_mplcommon(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 
 
 /* ------------------------------------------------------------------------- */
 
-int do_mip405(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_mip405(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 
 	ulong led_on;
board/mpl/pati/cmd_pati.c +2 -2
index 740881e..aba11d5 100644
@@ -31,7 +31,7 @@
 #include "pci_eeprom.h"
 
 extern void show_pld_regs(void);
-extern int do_mplcommon(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_mplcommon(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 
 extern void user_led0(int led_on);
 extern void user_led1(int led_on);
@@ -355,7 +355,7 @@ static void display_pci_regs(void)
 }
 
 
-int do_pati(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_pati(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	if (strcmp(argv[1], "info") == 0)
 	{
board/mpl/pip405/cmd_pip405.c +2 -2
index 6bbae89..554c8d1 100644
@@ -30,12 +30,12 @@
 
 
 extern void print_pip405_info(void);
-extern int do_mplcommon(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_mplcommon(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 
 
 /* ------------------------------------------------------------------------- */
 
-int do_pip405(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_pip405(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 
 	ulong led_on,led_nr;
board/mpl/vcma9/cmd_vcma9.c +2 -2
index 0ee9595..0d5f46e 100644
@@ -50,11 +50,11 @@ extern int vcma9_nanderase(void);
 extern int vcma9_nandread(ulong);
 extern int vcma9_nandwrite(ulong);
 extern int vcma9_dactest(int);
-extern int do_mplcommon(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_mplcommon(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 
 /* ------------------------------------------------------------------------- */
 
-int do_vcma9(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_vcma9(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	struct eth_device *dev;
 	char cs8900_name[10];
board/netstar/crcit.c +1 -1
index 0eef41a..a162649 100644
@@ -71,7 +71,7 @@ static int do_crc(char *path, unsigned version)
 	return EXIT_SUCCESS;
 }
 
-int main(int argc, char **argv)
+int main(int argc, char * const *argv)
 {
 	if (argc == 2) {
 		return do_crc(argv[1], 0);
board/netstar/eeprom.c +1 -1
index aca4458..aa375a4 100644
@@ -149,7 +149,7 @@ static int parse_element(char *s, unsigned char *buf, int len)
 	return cnt;
 }
 
-int eeprom(int argc, char *argv[])
+int eeprom(int argc, char * const argv[])
 {
 	int i, len, ret;
 	unsigned char buf[58], *p;
board/pcippc2/pcippc2.c +2 -2
index 6ee44d6..199def4 100644
@@ -69,7 +69,7 @@ phys_size_t initdram (int board_type)
 	return cpc710_ram_init ();
 }
 
-int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	out32 (REG (CPC0, SPOR), 0);
 	iobarrier_rw ();
@@ -206,7 +206,7 @@ void watchdog_reset (void)
 }
 
 #if defined(CONFIG_CMD_BSP)
-int do_wd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_wd (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	switch (argc) {
 	case 1:
board/pcs440ep/pcs440ep.c +2 -2
index a6885d6..d7adff2 100644
@@ -567,7 +567,7 @@ void hw_watchdog_reset(void)
  * "led" Commando for the U-Boot shell
  *
  ************************************************************************/
-int do_led (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_led (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int	rcode = 0, i;
 	ulong	pattern = 0;
@@ -611,7 +611,7 @@ U_BOOT_CMD(
  * "sha1" Commando for the U-Boot shell
  *
  ************************************************************************/
-int do_sha1 (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_sha1 (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int	rcode = -1;
 
board/pdm360ng/pdm360ng.c +1 -1
index 8fe5ac8..29a095d 100644
@@ -633,7 +633,7 @@ static int set_lcd_brightness(char *brightness)
 }
 
 static int cmd_lcd_brightness(cmd_tbl_t *cmdtp, int flag,
-			      int argc, char *argv[])
+			      int argc, char * const argv[])
 {
 	if (argc < 2) {
 		cmd_usage(cmdtp);
board/pn62/cmd_pn62.c +2 -2
index 43295d6..7329435 100644
@@ -36,7 +36,7 @@ extern int do_bootm (cmd_tbl_t *, int, int, char *[]);
 /*
  * Command led: controls the various LEDs 0..11 on the PN62 card.
  */
-int do_led (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_led (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
     unsigned int number, function;
 
@@ -64,7 +64,7 @@ U_BOOT_CMD(
 #define CMD_MOVE_WINDOW 0x1
 #define CMD_BOOT_IMAGE  0x2
 
-int do_loadpci (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_loadpci (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
     char *s;
     ulong addr = 0, count = 0;
board/ppmc7xx/ppmc7xx.c +1 -1
index 944cd4d..0cad897 100644
@@ -89,7 +89,7 @@ int misc_init_r( void )
  *
  * Shell command to reset the board.
  */
-void do_reset( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[] )
+void do_reset( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[] )
 {
 	printf( "Resetting...\n" );
 
board/prodrive/pdnb3/pdnb3.c +2 -2
index 69f8f9b..3f2deed 100644
@@ -29,7 +29,7 @@
 DECLARE_GLOBAL_DATA_PTR;
 
 /* Prototypes */
-int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 
 /* predefine these here for FPGA programming (before including fpga.c) */
 #define SET_FPGA(data)	*IXP425_GPIO_GPOUTR = (data)
@@ -210,7 +210,7 @@ int do_fpga_boot(unsigned char *fpgadata)
 	return (0);
 }
 
-int do_fpga(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_fpga(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong addr;
 
board/pxa255_idp/pxa_idp.c +1 -1
index 05e30ec..a54a95d 100644
@@ -122,7 +122,7 @@ void blink_c(void)
 	GPCR0 = led_bit;
 }
 
-int do_idpcmd(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_idpcmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	printf("IDPCMD started\n");
 	return 0;
board/r360mpi/r360mpi.c +1 -1
index 703af73..b5315ad 100644
@@ -391,7 +391,7 @@ static uchar *key_match (uchar * kbd_str)
 #endif	/* CONFIG_PREBOOT */
 
 /* Read Keyboard status */
-int do_kbd (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_kbd (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	uchar kbd_data[KEYBD_DATALEN];
 	uchar keybd_env[2 * KEYBD_DATALEN + 1];
board/renesas/sh7785lcr/rtl8169_mac.c +2 -2
index 634efb4..dae01ec 100644
@@ -298,7 +298,7 @@ void mac_read(void)
 		data[0], data[1], data[2], data[3], data[4], data[5]);
 }
 
-int do_set_mac(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_set_mac(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int i;
 	unsigned char mac[6];
@@ -328,7 +328,7 @@ U_BOOT_CMD(
 	"setmac <mac address> - write MAC address for RTL8110SCL"
 );
 
-int do_print_mac(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_print_mac(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	if (argc != 1) {
 		cmd_usage(cmdtp);
board/renesas/sh7785lcr/selfcheck.c +1 -1
index e803b3c..44247c8 100644
@@ -108,7 +108,7 @@ static void test_pci(void)
 	printf("PCI CN2 ID = %08x\n", readl(0xfe040220));
 }
 
-int do_hw_test(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_hw_test(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	char *cmd;
 
board/renesas/sh7785lcr/sh7785lcr.c +1 -1
index 9948d04..cad3905 100644
@@ -56,7 +56,7 @@ int board_eth_init(bd_t *bis)
 }
 
 #if defined(CONFIG_SH_32BIT)
-int do_pmb(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_pmb(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	/* clear ITLB */
 	writel(0x00000004, 0xff000010);
board/sacsng/sacsng.c +1 -1
index 49d8bba..8edca59 100644
@@ -38,7 +38,7 @@
 extern void eth_loopback_test(void);
 #endif /* CONFIG_ETHER_LOOPBACK_TEST */
 
-extern int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 
 #include "clkinit.h"
 #include "ioconfig.h" /* I/O configuration table */
board/sandburst/common/ppc440gx_i2c.c +1 -1
index d286714..68acdd8 100644
@@ -465,7 +465,7 @@ void i2c_reg_write1(uchar i2c_addr, uchar reg, uchar val)
 }
 
 
-int do_i2c1_probe(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_i2c1_probe(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int j;
 #if defined(CONFIG_SYS_I2C_NOPROBES)
board/sandburst/karef/karef.c +2 -2
index 92b15aa..6457f9b 100644
@@ -518,7 +518,7 @@ void fpga_init(void)
 	return;
 }
 
-int karefSetupVars(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int karefSetupVars(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned short sernum;
 	char envstr[255];
@@ -578,7 +578,7 @@ int karefSetupVars(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	return(1);
 }
 
-int karefRecover(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int karefRecover(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned short sernum;
 	char envstr[255];
board/sandburst/metrobox/metrobox.c +2 -2
index 0c8e6df..76d8293 100644
@@ -485,7 +485,7 @@ void fpga_init(void)
 	return;
 }
 
-int metroboxSetupVars(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int metroboxSetupVars(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned short sernum;
 	char envstr[255];
@@ -545,7 +545,7 @@ int metroboxSetupVars(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	return(1);
 }
 
-int metroboxRecover(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int metroboxRecover(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned short sernum;
 	char envstr[255];
board/siemens/common/fpga.c +1 -1
index 4b45902..5660c09 100644
@@ -222,7 +222,7 @@ static int fpga_load (fpga_t* fpga, ulong addr, int checkall)
 
 /* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . */
 
-int do_fpga (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_fpga (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
     ulong addr = 0;
     int i;
board/siemens/pcu_e/pcu_e.c +1 -1
index 827578c..14d75ea 100644
@@ -373,7 +373,7 @@ void reset_phy (void)
 #define	PUMA_READ_MODE	0
 #define PUMA_LOAD_MODE	1
 
-int do_puma (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_puma (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong addr, len;
 
board/spear/common/spr_misc.c +1 -1
index e356912..d99036b 100644
@@ -206,7 +206,7 @@ static int write_mac(uchar *mac)
 	return -1;
 }
 
-int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	void (*sram_setfreq) (unsigned int, unsigned int);
 	struct chip_data *chip = &chip_data;
board/tcm-bf537/flash.c +1 -1
index 52c5bd8..14055c6 100644
@@ -11,7 +11,7 @@
 #include <asm/blackfin.h>
 #include "gpio_cfi_flash.h"
 
-int do_pf(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_pf(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong faddr = CONFIG_SYS_FLASH_BASE;
 	ushort data;
board/tqc/tqm5200/cmd_stk52xx.c +7 -7
index e309beb..0db7050 100644
@@ -301,7 +301,7 @@ static int i2s_squarewave(unsigned long duration, unsigned int freq,
 	return 0;
 }
 
-static int cmd_sound(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int cmd_sound(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned long reg, val, duration;
 	char *tmp;
@@ -419,7 +419,7 @@ static int cmd_sound(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	return 1;
 }
 
-static int cmd_wav(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int cmd_wav(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned long length, addr;
 	unsigned char volume;
@@ -484,7 +484,7 @@ static int cmd_wav(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	return rcode;
 }
 
-static int cmd_beep(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int cmd_beep(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned char volume;
 	unsigned int channel;
@@ -581,7 +581,7 @@ void led_init(void)
  * return 1 if led number unknown
  * return 0 else
  */
-int do_led(char *argv[])
+int do_led(char * const argv[])
 {
 	struct mpc5xxx_gpio *gpio = (struct mpc5xxx_gpio *)MPC5XXX_GPIO;
 	struct mpc5xxx_gpt_0_7 *gpt = (struct mpc5xxx_gpt_0_7 *)MPC5XXX_GPT;
@@ -892,7 +892,7 @@ int can_init(void)
  * return 1 on CAN failure
  * return 0 if no failure
  */
-int do_can(char *argv[])
+int do_can(char * const argv[])
 {
 	int i;
 	struct mpc5xxx_mscan *can1 =
@@ -994,7 +994,7 @@ int do_can(char *argv[])
  * return 3 on rts/cts failure
  * return 0 if no failure
  */
-int do_rs232(char *argv[])
+int do_rs232(char * const argv[])
 {
 	int error_status = 0;
 	struct mpc5xxx_gpio *gpio = (struct mpc5xxx_gpio *)MPC5XXX_GPIO;
@@ -1123,7 +1123,7 @@ static void sm501_backlight (unsigned int state)
 }
 #endif /* !CONFIG_FO300 & !CONFIG_TQM5200S */
 
-int cmd_fkt(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int cmd_fkt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int rcode;
 
board/tqc/tqm5200/cmd_tb5200.c +2 -2
index 578e716..79c1b98 100644
@@ -42,7 +42,7 @@ static void led_init(void)
 	gpt->gpt4.emsr |=  0x00000024;
 }
 
-int cmd_led(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int cmd_led(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	struct mpc5xxx_gpt_0_7 *gpt = (struct mpc5xxx_gpt_0_7 *)MPC5XXX_GPT;
 
@@ -72,7 +72,7 @@ static void sm501_backlight (unsigned int state)
 			~((1 << 26) | (1 << 27));
 }
 
-int cmd_backlight(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int cmd_backlight(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	if (strcmp (argv[1], "on") == 0) {
 		debug ("switch backlight on\n");
board/tqc/tqm8272/tqm8272.c +1 -1
index 92f74a3..96ec078 100644
@@ -858,7 +858,7 @@ int board_early_init_r(void)
 }
 #endif
 
-int do_hwib_dump (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_hwib_dump (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	dump_hwib ();
 	return 0;
board/trab/cmd_trab.c +12 -12
index 472d7d8..6d23470 100644
@@ -109,16 +109,16 @@ extern s32 tsc2000_contact_temp (void);
 extern void tsc2000_spi_init(void);
 
 /* function declarations */
-int do_dip (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-int do_vcc5v (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-int do_burn_in (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-int do_contact_temp (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-int do_burn_in_status (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_dip (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
+int do_vcc5v (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
+int do_burn_in (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
+int do_contact_temp (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
+int do_burn_in_status (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 int i2c_write_multiple (uchar chip, uint addr, int alen,
 			uchar *buffer, int len);
 int i2c_read_multiple (uchar chip, uint addr, int alen,
 			uchar *buffer, int len);
-int do_temp_log (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_temp_log (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 
 /* helper functions */
 static void adc_init (void);
@@ -162,7 +162,7 @@ typedef struct test_function_s {
 test_function_t test_function[BIF_MAX];
 
 
-int do_burn_in (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_burn_in (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int i;
 	int cycle_status;
@@ -266,7 +266,7 @@ U_BOOT_CMD(
 );
 
 
-int do_dip (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_dip (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int i, dip;
 
@@ -299,7 +299,7 @@ U_BOOT_CMD(
 );
 
 
-int do_vcc5v (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_vcc5v (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int vcc5v;
 
@@ -327,7 +327,7 @@ U_BOOT_CMD(
 );
 
 
-int do_contact_temp (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_contact_temp (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int contact_temp;
 
@@ -352,7 +352,7 @@ U_BOOT_CMD(
 );
 
 
-int do_burn_in_status (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_burn_in_status (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	if (argc > 1) {
 		cmd_usage(cmdtp);
@@ -842,7 +842,7 @@ static int dummy(void)
 	return (0);
 }
 
-int do_temp_log (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_temp_log (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int contact_temp;
 	int delay = 0;
board/trab/trab.c +1 -1
index 71fd22c..12fe120 100644
@@ -305,7 +305,7 @@ static char *key_match (ulong kbd_data)
 #endif							/* CONFIG_PREBOOT */
 
 /* Read Keyboard status */
-int do_kbd (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_kbd (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong kbd_data = KBD_DATA;
 	char keybd_env[KEYBD_KEY_NUM + 1];
board/trab/trab_fkt.c +17 -17
index 2df9a04..6faa9b1 100644
@@ -150,8 +150,8 @@ static unsigned short updcrc(unsigned short icrc, unsigned char *icp,
 			     unsigned int icnt);
 
 #if defined(CONFIG_CMD_I2C)
-static int trab_eeprom_read (char **argv);
-static int trab_eeprom_write (char **argv);
+static int trab_eeprom_read (char * const *argv);
+static int trab_eeprom_write (char * const *argv);
 int i2c_write_multiple (uchar chip, uint addr, int alen, uchar *buffer,
 			int len);
 int i2c_read_multiple ( uchar chip, uint addr, int alen, uchar *buffer,
@@ -163,7 +163,7 @@ int i2c_read_multiple ( uchar chip, uint addr, int alen, uchar *buffer,
  * test.
  */
 
-int trab_fkt (int argc, char *argv[])
+int trab_fkt (int argc, char * const argv[])
 {
 	int i;
 
@@ -585,7 +585,7 @@ int do_vfd_id (void)
 	return 0;
 }
 
-int do_buzzer (char **argv)
+int do_buzzer (char * const *argv)
 {
 	int counter;
 
@@ -635,7 +635,7 @@ int do_buzzer (char **argv)
 }
 
 
-int do_led (char **argv)
+int do_led (char * const *argv)
 {
 	struct s3c24x0_gpio * const gpio = s3c24x0_get_base_gpio();
 
@@ -690,7 +690,7 @@ int do_led (char **argv)
 }
 
 
-int do_full_bridge (char **argv)
+int do_full_bridge (char * const *argv)
 {
 	struct s3c24x0_gpio * const gpio = s3c24x0_get_base_gpio();
 
@@ -724,7 +724,7 @@ static inline unsigned long tsc2000_to_uv (u16 val)
 }
 
 
-int do_dac (char **argv)
+int do_dac (char * const *argv)
 {
 	int brightness;
 
@@ -799,7 +799,7 @@ int do_motor_contact (void)
 	return 0;
 }
 
-int do_motor (char **argv)
+int do_motor (char * const *argv)
 {
 	struct s3c24x0_gpio * const gpio = s3c24x0_get_base_gpio();
 
@@ -824,7 +824,7 @@ static void print_identifier (void)
 	printf ("## FKT: ");
 }
 
-int do_pwm (char **argv)
+int do_pwm (char * const *argv)
 {
 	int counter;
 	struct s3c24x0_gpio * const gpio = s3c24x0_get_base_gpio();
@@ -869,7 +869,7 @@ int do_pwm (char **argv)
 }
 
 
-int do_thermo (char **argv)
+int do_thermo (char * const *argv)
 {
 	int     channel, res;
 
@@ -892,7 +892,7 @@ int do_thermo (char **argv)
 }
 
 
-int do_touch (char **argv)
+int do_touch (char * const *argv)
 {
 	int     x, y;
 
@@ -1045,7 +1045,7 @@ static void touch_read_x_y (int *px, int *py)
 }
 
 
-int do_rs485 (char **argv)
+int do_rs485 (char * const *argv)
 {
 	int timeout;
 	char data[RS485_MAX_RECEIVE_BUF_LEN];
@@ -1110,7 +1110,7 @@ static int rs485_receive_chars (char *data, int timeout)
 }
 
 
-int do_serial_number (char **argv)
+int do_serial_number (char * const *argv)
 {
 #if defined(CONFIG_CMD_I2C)
 	unsigned int serial_number;
@@ -1249,7 +1249,7 @@ static unsigned short updcrc(unsigned short icrc, unsigned char *icp,
 }
 
 
-int do_gain (char **argv)
+int do_gain (char * const *argv)
 {
 	int range;
 
@@ -1265,7 +1265,7 @@ int do_gain (char **argv)
 }
 
 
-int do_eeprom (char **argv)
+int do_eeprom (char * const *argv)
 {
 #if defined(CONFIG_CMD_I2C)
 	if (strcmp (argv[2], "read") == 0) {
@@ -1286,7 +1286,7 @@ int do_eeprom (char **argv)
 }
 
 #if defined(CONFIG_CMD_I2C)
-static int trab_eeprom_read (char **argv)
+static int trab_eeprom_read (char * const *argv)
 {
 	int i;
 	int len;
@@ -1331,7 +1331,7 @@ static int trab_eeprom_read (char **argv)
 	return (0);
 }
 
-static int trab_eeprom_write (char **argv)
+static int trab_eeprom_write (char * const *argv)
 {
 	int i;
 	int len;
board/trizepsiv/eeprom.c +3 -3
index b6b16bf..fede2e0 100644
@@ -25,7 +25,7 @@
 #include <command.h>
 #include <dm9000.h>
 
-static int do_read_dm9000_eeprom ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) {
+static int do_read_dm9000_eeprom ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) {
 	unsigned int i;
 	u8 data[2];
 
@@ -39,7 +39,7 @@ static int do_read_dm9000_eeprom ( cmd_tbl_t *cmdtp, int flag, int argc, char *a
 	return (0);
 }
 
-static int do_write_dm9000_eeprom ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) {
+static int do_write_dm9000_eeprom ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) {
 	int offset,value;
 
 	if (argc < 4) {
@@ -58,7 +58,7 @@ static int do_write_dm9000_eeprom ( cmd_tbl_t *cmdtp, int flag, int argc, char *
 	return (0);
 }
 
-int do_dm9000_eeprom ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) {
+int do_dm9000_eeprom ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) {
 	if (argc < 2) {
 		cmd_usage(cmdtp);
 		return 1;
board/voiceblue/eeprom.c +1 -1
index f7e0ba5..aa6baca 100644
@@ -149,7 +149,7 @@ static int parse_element(char *s, unsigned char *buf, int len)
 	return cnt;
 }
 
-int eeprom(int argc, char *argv[])
+int eeprom(int argc, char * const argv[])
 {
 	int i, len, ret;
 	unsigned char buf[58], *p;
board/w7o/cmd_vpd.c +1 -1
index 013fc79..44d40ee 100644
@@ -32,7 +32,7 @@
  * Interpreter command to retrieve board specific Vital Product Data, "VPD"
  * ======================================================================
  */
-int do_vpd (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_vpd (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	VPD vpd;			/* Board specific data struct */
 	uchar dev_addr = CONFIG_SYS_DEF_EEPROM_ADDR;
board/zeus/update.c +1 -1
index c8487e5..6119627 100644
@@ -91,7 +91,7 @@ static int update_boot_eeprom(void)
 	return 0;
 }
 
-int do_update_boot_eeprom(cmd_tbl_t* cmdtp, int flag, int argc, char* argv[])
+int do_update_boot_eeprom(cmd_tbl_t* cmdtp, int flag, int argc, char * const argv[])
 {
 	return update_boot_eeprom();
 }
board/zeus/zeus.c +3 -3
index 01273a1..e295151 100644
@@ -44,7 +44,7 @@ extern uchar default_environment[];
 
 ulong flash_get_size(ulong base, int banknum);
 void env_crc_update(void);
-int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
 
 static u32 start_time;
 
@@ -278,7 +278,7 @@ static int restore_default(void)
 	return 0;
 }
 
-int do_set_default(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_set_default(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	char *buf;
 	char *buf_save;
@@ -336,7 +336,7 @@ static inline int sw_reset_pressed(void)
 	return !(in_be32((void *)GPIO0_IR) & GPIO_VAL(CONFIG_SYS_GPIO_SW_RESET));
 }
 
-int do_chkreset(cmd_tbl_t* cmdtp, int flag, int argc, char* argv[])
+int do_chkreset(cmd_tbl_t* cmdtp, int flag, int argc, char * const argv[])
 {
 	int delta;
 	int count = 0;
common/cmd_ambapp.c +1 -1
index bb20ab5..283c433 100644
@@ -223,7 +223,7 @@ void ambapp_print_ahb(ahbctrl_pp_dev * ahb, int index)
 	printf("   irq: %-2d (ver: %d)\n", irq, ver);
 }
 
-int do_ambapp_print(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_ambapp_print(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 
 	/* Print AHB Masters */
common/cmd_bdinfo.c +8 -8
index a0f7998..84c0427 100644
@@ -41,7 +41,7 @@ static void print_lnum(const char *, u64);
 #ifdef CONFIG_PPC
 static void print_str(const char *, const char *);
 
-int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	bd_t *bd = gd->bd;
 	char buf[32];
@@ -121,7 +121,7 @@ int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 
 #elif defined(CONFIG_NIOS2) /* Nios-II */
 
-int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	bd_t *bd = gd->bd;
 
@@ -147,7 +147,7 @@ int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 }
 #elif defined(CONFIG_MICROBLAZE) /* ! PPC, which leaves Microblaze */
 
-int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	bd_t *bd = gd->bd;
 	print_num ("mem start      ",	(ulong)bd->bi_memstart);
@@ -168,7 +168,7 @@ int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 }
 
 #elif defined(CONFIG_SPARC)	/* SPARC */
-int do_bdinfo(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bdinfo(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	bd_t *bd = gd->bd;
 
@@ -202,7 +202,7 @@ int do_bdinfo(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 #elif defined(CONFIG_M68K) /* M68K */
 static void print_str(const char *, const char *);
 
-int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	bd_t *bd = gd->bd;
 	char buf[32];
@@ -251,7 +251,7 @@ int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 #elif defined(CONFIG_BLACKFIN)
 static void print_str(const char *, const char *);
 
-int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	bd_t *bd = gd->bd;
 	char buf[32];
@@ -279,7 +279,7 @@ int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 
 #else /* ! PPC, which leaves MIPS */
 
-int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	bd_t *bd = gd->bd;
 
@@ -300,7 +300,7 @@ int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 
 #else	/* ARM */
 
-int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int i;
 	bd_t *bd = gd->bd;
common/cmd_bedbug.c +8 -8
index 8be1c25..d01ee19 100644
@@ -73,7 +73,7 @@ void bedbug_init (void)
  * Entry point from the interpreter to the disassembler.  Repeated calls
  * will resume from the last disassembled address.
  * ====================================================================== */
-int do_bedbug_dis (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bedbug_dis (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong addr;		/* Address to start disassembly from    */
 	ulong len;		/* # of instructions to disassemble     */
@@ -115,7 +115,7 @@ U_BOOT_CMD (ds, 3, 1, do_bedbug_dis,
  * instructions in consecutive memory locations until a '.' (period) is
  * entered on a line by itself.
  * ====================================================================== */
-int do_bedbug_asm (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bedbug_asm (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	long mem_addr;		/* Address to assemble into     */
 	unsigned long instr;	/* Machine code for text        */
@@ -167,7 +167,7 @@ U_BOOT_CMD (as, 2, 0, do_bedbug_asm,
  * CPU-specific break point set routine.
  * ====================================================================== */
 
-int do_bedbug_break (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bedbug_break (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	/* -------------------------------------------------- */
 	if (bug_ctx.do_break)
@@ -263,7 +263,7 @@ void bedbug_main_loop (unsigned long addr, struct pt_regs *regs)
  * stopped flag in the context so that the breakpoint routine will
  * return.
  * ====================================================================== */
-int do_bedbug_continue (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bedbug_continue (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	/* -------------------------------------------------- */
 
@@ -286,7 +286,7 @@ U_BOOT_CMD (continue, 1, 0, do_bedbug_continue,
  * the address passes control to the CPU-specific set breakpoint routine
  * for the current breakpoint number.
  * ====================================================================== */
-int do_bedbug_step (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bedbug_step (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned long addr;	/* Address to stop at */
 
@@ -317,7 +317,7 @@ U_BOOT_CMD (step, 1, 1, do_bedbug_step,
  * the address passes control to the CPU-specific set breakpoint routine
  * for the current breakpoint number.
  * ====================================================================== */
-int do_bedbug_next (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bedbug_next (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned long addr;	/* Address to stop at */
 
@@ -346,7 +346,7 @@ U_BOOT_CMD (next, 1, 1, do_bedbug_next,
  * Interpreter command to print the current stack.  This assumes an EABI
  * architecture, so it starts with GPR R1 and works back up the stack.
  * ====================================================================== */
-int do_bedbug_stack (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bedbug_stack (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	unsigned long sp;	/* Stack pointer                */
 	unsigned long func;	/* LR from stack                */
@@ -391,7 +391,7 @@ U_BOOT_CMD (where, 1, 1, do_bedbug_stack,
  * Interpreter command to dump the registers.  Calls the CPU-specific
  * show registers routine.
  * ====================================================================== */
-int do_bedbug_rdump (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bedbug_rdump (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	/* -------------------------------------------------- */
 
common/cmd_bmp.c +3 -3
index 583b009..5ec798c 100644
@@ -90,7 +90,7 @@ bmp_image_t *gunzip_bmp(unsigned long addr, unsigned long *lenp)
 }
 #endif
 
-static int do_bmp_info(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int do_bmp_info(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong addr;
 
@@ -109,7 +109,7 @@ static int do_bmp_info(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 	return (bmp_info(addr));
 }
 
-static int do_bmp_display(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int do_bmp_display(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
 	ulong addr;
 	int x = 0, y = 0;
@@ -149,7 +149,7 @@ static cmd_tbl_t cmd_bmp_sub[] = {
  * Return:      None
  *
  */
-static int do_bmp(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+static int do_bmp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	cmd_tbl_t *c;
 
common/cmd_boot.c +3 -3
index bfc1db2..9ccc8c7 100644
@@ -30,12 +30,12 @@
 
 /* Allow ports to override the default behavior */
 __attribute__((weak))
-unsigned long do_go_exec (ulong (*entry)(int, char *[]), int argc, char *argv[])
+unsigned long do_go_exec (ulong (*entry)(int, char * const []), int argc, char * const argv[])
 {
 	return entry (argc, argv);
 }
 
-int do_go (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_go (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
[… more lines in the raw message]

Lines of this file are not shown. View the raw message.

common/cmd_bootldr.c +1 -1
index b2a8b0e..c7f14d9 100644

Lines of this file are not shown. View the raw message.

common/cmd_bootm.c +22 -22

44 lines not on this page · raw message

common/cmd_cache.c +2 -2
index 1202258..be87b5c 100644

Lines of this file are not shown. View the raw message.

common/cmd_console.c +1 -1
index 178fbfe..d8cad6b 100644

Lines of this file are not shown. View the raw message.

common/cmd_cplbinfo.c +1 -1
index 1a044d2..fc6abff 100644

Lines of this file are not shown. View the raw message.

common/cmd_cramfs.c +2 -2
index 55e2d36..ab10450 100644

Lines of this file are not shown. View the raw message.

common/cmd_dataflash_mmc_mux.c +1 -1
index 97e303e..de4e676 100644

Lines of this file are not shown. View the raw message.

common/cmd_date.c +1 -1
index 3141a39..50b4240 100644

Lines of this file are not shown. View the raw message.

common/cmd_dcr.c +4 -4
index 4f23b8d..45de8cd 100644

Lines of this file are not shown. View the raw message.

common/cmd_df.c +1 -1
index 7f957fe..6a08666 100644

Lines of this file are not shown. View the raw message.

common/cmd_diag.c +1 -1
index 0436c49..317ea66 100644

Lines of this file are not shown. View the raw message.

common/cmd_display.c +1 -1
index 3422395..6c11aa6 100644

Lines of this file are not shown. View the raw message.

common/cmd_dtt.c +1 -1
index 3cfd36e..3388e43 100644

Lines of this file are not shown. View the raw message.

common/cmd_echo.c +1 -1
index 3ec4d48..43a6da5 100644

Lines of this file are not shown. View the raw message.

common/cmd_eeprom.c +1 -1
index 519b510..129162c 100644

Lines of this file are not shown. View the raw message.

common/cmd_elf.c +4 -3
index 63f6fe7..104d6e6 100644

Lines of this file are not shown. View the raw message.

common/cmd_exit.c +1 -1
index ed876d8..f3fc8f5 100644

Lines of this file are not shown. View the raw message.

common/cmd_ext2.c +2 -2
index b7e4048..49021cd 100644

Lines of this file are not shown. View the raw message.

common/cmd_fat.c +4 -4
index f3089a2..ede7308 100644

Lines of this file are not shown. View the raw message.

common/cmd_fdc.c +1 -1
index 4c16d19..486d5d4 100644

Lines of this file are not shown. View the raw message.

common/cmd_fdos.c +2 -2
index 3cc6586..00f7e88 100644

Lines of this file are not shown. View the raw message.

common/cmd_fdt.c +3 -3
index 5df79ae..cd4c6de 100644

Lines of this file are not shown. View the raw message.

common/cmd_flash.c +3 -3
index 6361c4e..5d8fb7a 100644

Lines of this file are not shown. View the raw message.

common/cmd_fpga.c +1 -1
index 2e017b8..ddc7a05 100644

Lines of this file are not shown. View the raw message.

common/cmd_help.c +1 -1
index e860dfb..8c8178e 100644

Lines of this file are not shown. View the raw message.

common/cmd_i2c.c +15 -15
index 8b9c2c9..fb9d3b0 100644

Lines of this file are not shown. View the raw message.

common/cmd_ide.c +2 -2
index 2e9f834..d486697 100644

Lines of this file are not shown. View the raw message.

common/cmd_immap.c +18 -18
index 37e6058..1f59c1e 100644

Lines of this file are not shown. View the raw message.

common/cmd_irq.c +2 -2
index 2c7e6bb..4888328 100644

Lines of this file are not shown. View the raw message.

common/cmd_itest.c +1 -1
index 58c5e7b..e88d6e0 100644

Lines of this file are not shown. View the raw message.

common/cmd_jffs2.c +3 -3
index 6799cca..0e7a6b0 100644

Lines of this file are not shown. View the raw message.

common/cmd_license.c +1 -1
index 85a4871..90fd57e 100644

Lines of this file are not shown. View the raw message.

common/cmd_load.c +4 -4
index d6bbb78..52ed1fa 100644

Lines of this file are not shown. View the raw message.

common/cmd_log.c +1 -1
index 3653fe1..49deddd 100644

Lines of this file are not shown. View the raw message.

common/cmd_mac.c +1 -1
index 20403da..1884c2a 100644

Lines of this file are not shown. View the raw message.

common/cmd_mem.c +20 -20
index 1839330..bcea399 100644

Lines of this file are not shown. View the raw message.

common/cmd_mfsl.c +3 -3
index b19ad0e..eeef2cd 100644

Lines of this file are not shown. View the raw message.

common/cmd_mgdisk.c +1 -1
index 3ba62f6..c2d5217 100644

Lines of this file are not shown. View the raw message.

common/cmd_mii.c +1 -1
index 65e13c3..1619a25 100644

Lines of this file are not shown. View the raw message.

common/cmd_misc.c +1 -1
index b0ced2f..8439da2 100644

Lines of this file are not shown. View the raw message.

common/cmd_mmc.c +3 -3
index c67c9cf..698157f 100644

Lines of this file are not shown. View the raw message.

common/cmd_mp.c +1 -1
index d78c209..4d7b871 100644

Lines of this file are not shown. View the raw message.

common/cmd_mtdparts.c +2 -2
index 116e637..447486b 100644

Lines of this file are not shown. View the raw message.

common/cmd_nand.c +3 -3
index f611fd7..ea80555 100644

Lines of this file are not shown. View the raw message.

common/cmd_net.c +12 -12
index b80a7ad..3cdb07f 100644

Lines of this file are not shown. View the raw message.

common/cmd_nvedit.c +9 -9
index d2ef217..13325bc 100644

Lines of this file are not shown. View the raw message.

common/cmd_onenand.c +10 -10
index 2646ae9..a3e46a3 100644

Lines of this file are not shown. View the raw message.

common/cmd_otp.c +1 -1
index 30af5a3..a8c73b5 100644

Lines of this file are not shown. View the raw message.

common/cmd_pci.c +1 -1
index 8a260df..358ca60 100644

Lines of this file are not shown. View the raw message.

common/cmd_pcmcia.c +1 -1
index e576b0c..70e5210 100644

Lines of this file are not shown. View the raw message.

common/cmd_portio.c +2 -2
index f8befee..92d61d2 100644

Lines of this file are not shown. View the raw message.

common/cmd_reginfo.c +1 -1
index 89fd9ec..94b8d58 100644

Lines of this file are not shown. View the raw message.

common/cmd_reiser.c +2 -2
index 8ede782..2133a1f 100644

Lines of this file are not shown. View the raw message.

common/cmd_sata.c +1 -1
index 1693a7e..7be58e5 100644

Lines of this file are not shown. View the raw message.

common/cmd_scsi.c +2 -2
index f89492f..5b2df28 100644

Lines of this file are not shown. View the raw message.

common/cmd_setexpr.c +1 -1
index da9e844..b3e489f 100644

Lines of this file are not shown. View the raw message.

common/cmd_sf.c +4 -4
index d69ae6a..4826e9f 100644

Lines of this file are not shown. View the raw message.

common/cmd_source.c +1 -1
index 1424d30..16a627a 100644

Lines of this file are not shown. View the raw message.

common/cmd_spi.c +1 -1
index ab7aac7..bafa217 100644

Lines of this file are not shown. View the raw message.

common/cmd_spibootldr.c +1 -1
index d29ed2b..68aa618 100644

Lines of this file are not shown. View the raw message.

common/cmd_strings.c +1 -1
index 3a0d8ff..bbbb6b4 100644

Lines of this file are not shown. View the raw message.

common/cmd_terminal.c +1 -1
index 60ec378..7cc1a6c 100644

Lines of this file are not shown. View the raw message.

common/cmd_test.c +4 -4
index d886f89..fcb5ef2 100644

Lines of this file are not shown. View the raw message.

common/cmd_tsi148.c +1 -1
index f2097fd..1e83c88 100644

Lines of this file are not shown. View the raw message.

common/cmd_ubi.c +1 -1
index 2484b40..2faf8d8 100644

Lines of this file are not shown. View the raw message.

common/cmd_ubifs.c +3 -3
index ed0e9db..9017041 100644

Lines of this file are not shown. View the raw message.

common/cmd_universe.c +1 -1
index 0a6d722..a86a574 100644

Lines of this file are not shown. View the raw message.

common/cmd_usb.c +2 -2
index fcb5f76..73d74ac 100644

Lines of this file are not shown. View the raw message.

common/cmd_version.c +1 -1
index 7f165c7..7d1b495 100644

Lines of this file are not shown. View the raw message.

common/cmd_vfd.c +1 -1
index 9c5b038..1429d31 100644

Lines of this file are not shown. View the raw message.

common/cmd_ximg.c +1 -1
index 75499b4..8a2cf83 100644

Lines of this file are not shown. View the raw message.

common/cmd_yaffs2.c +12 -12
index d448d04..7c01ea2 100644

Lines of this file are not shown. View the raw message.

common/command.c +6 -6
index 67ad692..a1fc592 100644

Lines of this file are not shown. View the raw message.

common/hush.c +5 -5
index 06c5ff8..9aaa625 100644

Lines of this file are not shown. View the raw message.

common/image.c +3 -3
index 2b6007e..6d8833e 100644

Lines of this file are not shown. View the raw message.

common/kgdb.c +1 -1
index 9e3b64c..8a621ad 100644

Lines of this file are not shown. View the raw message.

common/lcd.c +2 -2
index 64fb1c6..93ddedf 100644

Lines of this file are not shown. View the raw message.

common/main.c +3 -3
index 3760ba3..20090ee 100644

Lines of this file are not shown. View the raw message.

doc/README.standalone +1 -1
index 6381087..6e6b65f 100644

Lines of this file are not shown. View the raw message.

drivers/gpio/pca953x.c +1 -1
index e8273ee..d1065f4 100644

Lines of this file are not shown. View the raw message.

drivers/misc/ds4510.c +1 -1
index f2510a3..5b33c1f 100644

Lines of this file are not shown. View the raw message.

drivers/misc/fsl_pmic.c +1 -1
index 87f0aed..274327f 100644

Lines of this file are not shown. View the raw message.

drivers/qe/qe.c +1 -1
index 8882c4f..63cc68e 100644

Lines of this file are not shown. View the raw message.

examples/api/demo.c +1 -1
index df9c4bd..65e7491 100644

Lines of this file are not shown. View the raw message.

examples/standalone/82559_eeprom.c +1 -1
index 5e2eee9..8dd7079 100644

Lines of this file are not shown. View the raw message.

examples/standalone/atmel_df_pow2.c +1 -1
index db0cd69..b5b4503 100644

Lines of this file are not shown. View the raw message.

examples/standalone/eepro100_eeprom.c +1 -1
index 771a7e8..3c7f380 100644

Lines of this file are not shown. View the raw message.

examples/standalone/hello_world.c +1 -1
index 9317f6d..067c390 100644

Lines of this file are not shown. View the raw message.

examples/standalone/interrupt.c +1 -1
index f3061d1..a5b58a1 100644

Lines of this file are not shown. View the raw message.

examples/standalone/mem_to_mem_idma2intr.c +2 -2
index f35f1ba..d0a75ea 100644

Lines of this file are not shown. View the raw message.

examples/standalone/smc91111_eeprom.c +1 -1
index b91f34c..c98b0fc 100644

Lines of this file are not shown. View the raw message.

examples/standalone/smc911x_eeprom.c +1 -1
index 104047f..c51a050 100644

Lines of this file are not shown. View the raw message.

examples/standalone/stubs.c +1 -1
index f3e1ab5..2d2e709 100644

Lines of this file are not shown. View the raw message.

examples/standalone/test_burst.c +1 -1
index 7109c09..2b101b7 100644

Lines of this file are not shown. View the raw message.

examples/standalone/timer.c +1 -1
index 6628b21..834cc9a 100644

Lines of this file are not shown. View the raw message.

include/bedbug/type.h +1 -1
index 38ee9de..b7b447b 100644

Lines of this file are not shown. View the raw message.

include/command.h +4 -4
index 55caa6e..9144d69 100644

Lines of this file are not shown. View the raw message.

include/common.h +1 -1
index 48f6a1a..eddec22 100644

Lines of this file are not shown. View the raw message.

include/exports.h +1 -1
index 9588bc9..1d79a31 100644

Lines of this file are not shown. View the raw message.

include/image.h +2 -2
index 366b622..bcc08d1 100644

Lines of this file are not shown. View the raw message.

include/kgdb.h +1 -1
index f543cd6..b6ba742 100644

Lines of this file are not shown. View the raw message.

include/vxworks.h +1 -1
index 1633904..917a9ff 100644

Lines of this file are not shown. View the raw message.

lib/vsprintf.c +1 -1
index 8c58a93..aa214dd 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Signature · 1 line
1.7.0.1

Part of the diff is not shown here. View the raw message.

#1 lore raw

PATCH 1/1 Make sure that argv[] argument pointers are not modified - Part 2

Fix compile problems cause by this commit.

---

Sorry, by accident these changes were not checked in yet when I submitted the patch. Given the size of the patch and the local impact of this fix I post this as an incremental patch. If nobody complains I will squash this into the first part when committing.

 board/trab/trab_fkt.c |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)
board/trab/trab_fkt.c +12 -12
index 6faa9b1..268162e 100644
@@ -115,21 +115,21 @@ int do_rotary_switch (void);
 int do_pressure (void);
 int do_v_bat (void);
 int do_vfd_id (void);
-int do_buzzer (char **);
-int do_led (char **);
-int do_full_bridge (char **);
-int do_dac (char **);
+int do_buzzer (char * const *);
+int do_led (char * const *);
+int do_full_bridge (char * const *);
+int do_dac (char * const *);
 int do_motor_contact (void);
-int do_motor (char **);
-int do_pwm (char **);
-int do_thermo (char **);
-int do_touch (char **);
-int do_rs485 (char **);
-int do_serial_number (char **);
+int do_motor (char * const *);
+int do_pwm (char * const *);
+int do_thermo (char * const *);
+int do_touch (char * const *);
+int do_rs485 (char * const *);
+int do_serial_number (char * const *);
 int do_crc16 (void);
 int do_power_switch (void);
-int do_gain (char **);
-int do_eeprom (char **);
+int do_gain (char * const *);
+int do_eeprom (char * const *);
 
 /* helper functions */
 static void adc_init (void);
Signature · 1 line
1.7.0.1
#2 lore raw

PATCH 1/1 Make sure that argv[] argument pointers are not modified.

In reply to Wolfgang Denk
Quoted 1 line · On Tuesday, June 29, 2010 05:49:25 Wolfgang Denk wrote:
 arch/blackfin/cpu/bootrom-asm-offsets.c.in    |    2 +-

this file isnt linked into u-boot, so i dont think it needs to be changed. it is actually compiled, just preprocessed and assembly output.

Quoted 11 lines
 arch/blackfin/cpu/reset.c                     |    2 +-
 arch/blackfin/lib/boot.c                      |    2 +-
 arch/blackfin/lib/cmd_cache_dump.c            |    4 +-
 arch/blackfin/lib/kgdb.c                      |    2 +-
 board/bf537-stamp/cmd_bf537led.c              |    2 +-
 board/cm-bf527/gpio.c                         |    2 +-
 board/cm-bf537e/flash.c                       |    2 +-
 board/cm-bf537u/flash.c                       |    2 +-
 board/tcm-bf537/flash.c                       |    2 +-
 common/cmd_bootldr.c                          |    2 +-
 common/cmd_otp.c                              |    2 +-

these all look sane, so:

-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20100629/11e951bb/attachment.pgp

#3 lore raw

PATCH 1/1 Make sure that argv[] argument pointers are not modified.

Dear Mike Frysinger,

Quoted 5 lines · In message <[email protected]> you wrote:
Quoted 2 lines
 arch/blackfin/cpu/bootrom-asm-offsets.c.in    |    2 +-

this file isnt linked into u-boot, so i dont think it needs to be changed. it is actually compiled, just preprocessed and assembly output.

Is this just a comment, or a request to revert the changes to this file?

Quoted 12 lines
Quoted 11 lines
 arch/blackfin/cpu/reset.c                     |    2 +-
 arch/blackfin/lib/boot.c                      |    2 +-
 arch/blackfin/lib/cmd_cache_dump.c            |    4 +-
 arch/blackfin/lib/kgdb.c                      |    2 +-
 board/bf537-stamp/cmd_bf537led.c              |    2 +-
 board/cm-bf527/gpio.c                         |    2 +-
 board/cm-bf537e/flash.c                       |    2 +-
 board/cm-bf537u/flash.c                       |    2 +-
 board/tcm-bf537/flash.c                       |    2 +-
 common/cmd_bootldr.c                          |    2 +-
 common/cmd_otp.c                              |    2 +-
Quoted 3 lines

these all look sane, so:

-mike

Thanks.

Best regards,

Wolfgang Denk

Signature · 7 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Anyone who knows history, particularly the history of Europe, will, I
think, recognize that the domination of education or of government by
any one particular religious faith is never a happy  arrangement  for
the people.                                       - Eleanor Roosevelt
#4 lore raw

PATCH 1/1 Make sure that argv[] argument pointers are not modified.

Quoted 9 lines · On Tuesday, June 29, 2010 17:08:51 Wolfgang Denk wrote:
Quoted 5 lines · Mike Frysinger
Quoted 1 line
 arch/blackfin/cpu/bootrom-asm-offsets.c.in    |    2 +-

this file isnt linked into u-boot, so i dont think it needs to be changed. it is actually compiled, just preprocessed and assembly output.

Is this just a comment, or a request to revert the changes to this file?

i dont see any warnings/errors even with the change, so doesnt matter to me. just commenting that it isnt required for the overall issue.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20100629/f6568755/attachment.pgp

author Applied
#5 lore raw

PATCH 1/1 Make sure that argv[] argument pointers are not modified.

In reply to Wolfgang Denk
Quoted 333 lines · In message <[email protected]> you wrote:

The hush shell dynamically allocates (and re-allocates) memory for the argument strings in the "char *argv[]" argument vector passed to commands. Any code that modifies these pointers will cause serious corruption of the malloc data structures and crash U-Boot, so make sure the compiler can check that no such modifications are being done by changing the code into "char * const argv[]".

This modification is the result of debugging a strange crash caused after adding a new command, which used the following argument processing code which has been working perfectly fine in all Unix systems since version 6 - but not so in U-Boot:

int main (int argc, char **argv)

{
	while (--argc > 0 && **++argv == '-') {
/* ====> */	while (*++*argv) {
			switch (**argv) {
			case 'd':
				debug++;
				break;
			...
			default:
				usage ();
			}
		}
	}
	...
}

The line marked "====>" will corrupt the malloc data structures and usually cause U-Boot to crash when the next command gets executed by the shell. With the modification, the compiler will prevent this with an
error: increment of read-only location '*argv'

N.B.: The code above can be trivially rewritten like this:

	while (--argc > 0 && **++argv == '-') {
		char *arg = *argv;
		while (*++arg) {
			switch (*arg) {
			...
---
 api/api.c                                     |    2 +-
 arch/arm/cpu/arm_cortexa8/mx51/clock.c        |    2 +-
 arch/arm/cpu/arm_cortexa8/omap3/board.c       |    2 +-
 arch/arm/lib/bootm.c                          |    2 +-
 arch/arm/lib/reset.c                          |    2 +-
 arch/avr32/cpu/cpu.c                          |    2 +-
 arch/avr32/lib/bootm.c                        |    2 +-
 arch/blackfin/cpu/bootrom-asm-offsets.c.in    |    2 +-
 arch/blackfin/cpu/reset.c                     |    2 +-
 arch/blackfin/lib/boot.c                      |    2 +-
 arch/blackfin/lib/cmd_cache_dump.c            |    4 +-
 arch/blackfin/lib/kgdb.c                      |    2 +-
 arch/i386/cpu/cpu.c                           |    2 +-
 arch/i386/lib/board.c                         |    2 +-
 arch/i386/lib/bootm.c                         |    2 +-
 arch/i386/lib/interrupts.c                    |    2 +-
 arch/i386/lib/zimage.c                        |    2 +-
 arch/m68k/cpu/mcf5227x/cpu.c                  |    2 +-
 arch/m68k/cpu/mcf523x/cpu.c                   |    2 +-
 arch/m68k/cpu/mcf52x2/cpu.c                   |   14 ++++----
 arch/m68k/cpu/mcf532x/cpu.c                   |    2 +-
 arch/m68k/cpu/mcf5445x/cpu.c                  |    2 +-
 arch/m68k/cpu/mcf547x_8x/cpu.c                |    2 +-
 arch/m68k/lib/bootm.c                         |    2 +-
 arch/microblaze/cpu/interrupts.c              |    4 +-
 arch/microblaze/lib/bootm.c                   |    2 +-
 arch/mips/cpu/cpu.c                           |    2 +-
 arch/mips/lib/bootm.c                         |    2 +-
 arch/mips/lib/bootm_qemu_mips.c               |    2 +-
 arch/nios2/cpu/epcs.c                         |   14 ++++----
 arch/nios2/cpu/interrupts.c                   |    2 +-
 arch/nios2/cpu/sysid.c                        |    2 +-
 arch/nios2/lib/bootm.c                        |    2 +-
 arch/powerpc/cpu/74xx_7xx/cpu.c               |    2 +-
 arch/powerpc/cpu/74xx_7xx/interrupts.c        |    2 +-
 arch/powerpc/cpu/mpc512x/cpu.c                |    2 +-
 arch/powerpc/cpu/mpc512x/diu.c                |    2 +-
 arch/powerpc/cpu/mpc512x/iim.c                |    2 +-
 arch/powerpc/cpu/mpc512x/speed.c              |    2 +-
 arch/powerpc/cpu/mpc5xx/cpu.c                 |    2 +-
 arch/powerpc/cpu/mpc5xx/interrupts.c          |    2 +-
 arch/powerpc/cpu/mpc5xxx/cpu.c                |    2 +-
 arch/powerpc/cpu/mpc5xxx/interrupts.c         |    2 +-
 arch/powerpc/cpu/mpc8220/cpu.c                |    2 +-
 arch/powerpc/cpu/mpc8220/interrupts.c         |    2 +-
 arch/powerpc/cpu/mpc824x/cpu.c                |    2 +-
 arch/powerpc/cpu/mpc8260/bedbug_603e.c        |    4 +-
 arch/powerpc/cpu/mpc8260/cpu.c                |    2 +-
 arch/powerpc/cpu/mpc8260/interrupts.c         |    2 +-
 arch/powerpc/cpu/mpc83xx/cpu.c                |    2 +-
 arch/powerpc/cpu/mpc83xx/ecc.c                |    2 +-
 arch/powerpc/cpu/mpc83xx/interrupts.c         |    2 +-
 arch/powerpc/cpu/mpc83xx/speed.c              |    2 +-
 arch/powerpc/cpu/mpc85xx/cpu.c                |    2 +-
 arch/powerpc/cpu/mpc85xx/interrupts.c         |    2 +-
 arch/powerpc/cpu/mpc85xx/mp.c                 |    2 +-
 arch/powerpc/cpu/mpc86xx/cpu.c                |    2 +-
 arch/powerpc/cpu/mpc86xx/interrupts.c         |    2 +-
 arch/powerpc/cpu/mpc86xx/mp.c                 |    2 +-
 arch/powerpc/cpu/mpc8xx/bedbug_860.c          |    4 +-
 arch/powerpc/cpu/mpc8xx/cpu.c                 |    4 +-
 arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c        |    2 +-
 arch/powerpc/cpu/ppc4xx/bedbug_405.c          |    4 +-
 arch/powerpc/cpu/ppc4xx/cmd_chip_config.c     |    2 +-
 arch/powerpc/cpu/ppc4xx/cpu.c                 |    2 +-
 arch/powerpc/cpu/ppc4xx/interrupts.c          |    2 +-
 arch/powerpc/lib/bootm.c                      |    4 +-
 arch/powerpc/lib/kgdb.c                       |    2 +-
 arch/sh/cpu/sh2/cpu.c                         |    2 +-
 arch/sh/cpu/sh3/cpu.c                         |    2 +-
 arch/sh/cpu/sh4/cpu.c                         |    2 +-
 arch/sh/lib/bootm.c                           |    2 +-
 arch/sparc/cpu/leon2/cpu.c                    |    2 +-
 arch/sparc/cpu/leon2/interrupts.c             |    2 +-
 arch/sparc/cpu/leon3/cpu.c                    |    2 +-
 arch/sparc/cpu/leon3/interrupts.c             |    2 +-
 arch/sparc/include/asm/prom.h                 |    2 +-
 arch/sparc/lib/board.c                        |    2 +-
 arch/sparc/lib/bootm.c                        |    2 +-
 board/BuS/EB+MCF-EV123/EB+MCF-EV123.c         |    2 +-
 board/BuS/eb_cpux9k2/cpux9k2.c                |    2 +-
 board/amcc/acadia/cmd_acadia.c                |    2 +-
 board/amcc/luan/luan.c                        |    2 +-
 board/amcc/makalu/cmd_pll.c                   |    2 +-
 board/amcc/taihu/lcd.c                        |    8 ++--
 board/amcc/taihu/taihu.c                      |    4 +-
 board/amcc/taihu/update.c                     |    2 +-
 board/amcc/taishan/lcd.c                      |   14 ++++----
 board/amcc/taishan/showinfo.c                 |    6 ++--
 board/amcc/taishan/update.c                   |    2 +-
 board/amcc/yucca/cmd_yucca.c                  |    6 ++--
 board/amirix/ap1000/ap1000.c                  |   10 +++---
 board/amirix/ap1000/powerspan.c               |    4 +-
 board/barco/barco.c                           |    2 +-
 board/bc3450/cmd_bc3450.c                     |   12 +++---
 board/bf537-stamp/cmd_bf537led.c              |    2 +-
 board/cm-bf527/gpio.c                         |    2 +-
 board/cm-bf537e/flash.c                       |    2 +-
 board/cm-bf537u/flash.c                       |    2 +-
 board/cm5200/cmd_cm5200.c                     |   10 +++---
 board/cm5200/fwupdate.c                       |    8 ++--
 board/delta/delta.c                           |    2 +-
 board/digsy_mtc/cmd_mtc.c                     |   22 ++++++------
 board/eltec/bab7xx/bab7xx.c                   |    2 +-
 board/eltec/elppc/elppc.c                     |    2 +-
 board/esd/apc405/apc405.c                     |    2 +-
 board/esd/ar405/ar405.c                       |    8 ++--
 board/esd/ash405/ash405.c                     |    2 +-
 board/esd/canbt/canbt.c                       |    2 +-
 board/esd/cms700/cms700.c                     |    2 +-
 board/esd/common/auto_update.c                |    2 +-
 board/esd/common/cmd_loadpci.c                |    2 +-
 board/esd/common/lcd.c                        |    2 +-
 board/esd/common/xilinx_jtag/micro.c          |    2 +-
 board/esd/cpci2dp/cpci2dp.c                   |    2 +-
 board/esd/cpci405/cpci405.c                   |    8 ++--
 board/esd/cpci5200/cpci5200.c                 |    2 +-
 board/esd/cpci750/cpci750.c                   |    6 ++--
 board/esd/cpci750/sdram_init.c                |    2 +-
 board/esd/cpciiser4/cpciiser4.c               |    2 +-
 board/esd/dasa_sim/cmd_dasa_sim.c             |    2 +-
 board/esd/du405/du405.c                       |    2 +-
 board/esd/du440/du440.c                       |   16 ++++----
 board/esd/hh405/hh405.c                       |    4 +-
 board/esd/ocrtc/cmd_ocrtc.c                   |    4 +-
 board/esd/pci405/cmd_pci405.c                 |    2 +-
 board/esd/pci405/pci405.c                     |    4 +-
 board/esd/pf5200/pf5200.c                     |    6 ++--
 board/esd/plu405/plu405.c                     |    4 +-
 board/esd/pmc405de/pmc405de.c                 |    8 ++--
 board/esd/pmc440/cmd_pmc440.c                 |   18 +++++-----
 board/esd/tasreg/tasreg.c                     |   14 ++++----
 board/esd/vme8349/caddy.c                     |    2 +-
 board/esd/voh405/voh405.c                     |    4 +-
 board/esd/wuh405/wuh405.c                     |    2 +-
 board/evb64260/zuma_pbb.c                     |    6 ++--
 board/freescale/common/ngpixis.c              |    2 +-
 board/freescale/common/pixis.c                |    6 ++--
 board/freescale/common/sys_eeprom.c           |    2 +-
 board/freescale/m5249evb/m5249evb.c           |    2 +-
 board/freescale/mpc8610hpcd/mpc8610hpcd_diu.c |    2 +-
 board/funkwerk/vovpn-gw/vovpn-gw.c            |    2 +-
 board/g2000/g2000.c                           |    6 ++--
 board/hymod/bsp.c                             |    6 ++--
 board/inka4x0/inkadiag.c                      |   14 ++++----
 board/keymile/km_arm/km_arm.c                 |    2 +-
 board/lwmon/lwmon.c                           |   18 +++++-----
 board/lwmon5/kbd.c                            |    6 ++--
 board/lwmon5/lwmon5.c                         |    2 +-
 board/micronas/vct/smc_eeprom.c               |    6 ++--
 board/mpl/common/common_util.c                |    2 +-
 board/mpl/mip405/cmd_mip405.c                 |    4 +-
 board/mpl/pati/cmd_pati.c                     |    4 +-
 board/mpl/pip405/cmd_pip405.c                 |    4 +-
 board/mpl/vcma9/cmd_vcma9.c                   |    4 +-
 board/netstar/crcit.c                         |    2 +-
 board/netstar/eeprom.c                        |    2 +-
 board/pcippc2/pcippc2.c                       |    4 +-
 board/pcs440ep/pcs440ep.c                     |    4 +-
 board/pdm360ng/pdm360ng.c                     |    2 +-
 board/pn62/cmd_pn62.c                         |    4 +-
 board/ppmc7xx/ppmc7xx.c                       |    2 +-
 board/prodrive/pdnb3/pdnb3.c                  |    4 +-
 board/pxa255_idp/pxa_idp.c                    |    2 +-
 board/r360mpi/r360mpi.c                       |    2 +-
 board/renesas/sh7785lcr/rtl8169_mac.c         |    4 +-
 board/renesas/sh7785lcr/selfcheck.c           |    2 +-
 board/renesas/sh7785lcr/sh7785lcr.c           |    2 +-
 board/sacsng/sacsng.c                         |    2 +-
 board/sandburst/common/ppc440gx_i2c.c         |    2 +-
 board/sandburst/karef/karef.c                 |    4 +-
 board/sandburst/metrobox/metrobox.c           |    4 +-
 board/siemens/common/fpga.c                   |    2 +-
 board/siemens/pcu_e/pcu_e.c                   |    2 +-
 board/spear/common/spr_misc.c                 |    2 +-
 board/tcm-bf537/flash.c                       |    2 +-
 board/tqc/tqm5200/cmd_stk52xx.c               |   14 ++++----
 board/tqc/tqm5200/cmd_tb5200.c                |    4 +-
 board/tqc/tqm8272/tqm8272.c                   |    2 +-
 board/trab/cmd_trab.c                         |   24 +++++++-------
 board/trab/trab.c                             |    2 +-
 board/trab/trab_fkt.c                         |   34 +++++++++---------
 board/trizepsiv/eeprom.c                      |    6 ++--
 board/voiceblue/eeprom.c                      |    2 +-
 board/w7o/cmd_vpd.c                           |    2 +-
 board/zeus/update.c                           |    2 +-
 board/zeus/zeus.c                             |    6 ++--
 common/cmd_ambapp.c                           |    2 +-
 common/cmd_bdinfo.c                           |   16 ++++----
 common/cmd_bedbug.c                           |   16 ++++----
 common/cmd_bmp.c                              |    6 ++--
 common/cmd_boot.c                             |    6 ++--
 common/cmd_bootldr.c                          |    2 +-
 common/cmd_bootm.c                            |   44 ++++++++++++------------
 common/cmd_cache.c                            |    4 +-
 common/cmd_console.c                          |    2 +-
 common/cmd_cplbinfo.c                         |    2 +-
 common/cmd_cramfs.c                           |    4 +-
 common/cmd_dataflash_mmc_mux.c                |    2 +-
 common/cmd_date.c                             |    2 +-
 common/cmd_dcr.c                              |    8 ++--
 common/cmd_df.c                               |    2 +-
 common/cmd_diag.c                             |    2 +-
 common/cmd_display.c                          |    2 +-
 common/cmd_dtt.c                              |    2 +-
 common/cmd_echo.c                             |    2 +-
 common/cmd_eeprom.c                           |    2 +-
 common/cmd_elf.c                              |    7 ++--
 common/cmd_exit.c                             |    2 +-
 common/cmd_ext2.c                             |    4 +-
 common/cmd_fat.c                              |    8 ++--
 common/cmd_fdc.c                              |    2 +-
 common/cmd_fdos.c                             |    4 +-
 common/cmd_fdt.c                              |    6 ++--
 common/cmd_flash.c                            |    6 ++--
 common/cmd_fpga.c                             |    2 +-
 common/cmd_help.c                             |    2 +-
 common/cmd_i2c.c                              |   30 ++++++++--------
 common/cmd_ide.c                              |    4 +-
 common/cmd_immap.c                            |   36 ++++++++++----------
 common/cmd_irq.c                              |    4 +-
 common/cmd_itest.c                            |    2 +-
 common/cmd_jffs2.c                            |    6 ++--
 common/cmd_license.c                          |    2 +-
 common/cmd_load.c                             |    8 ++--
 common/cmd_log.c                              |    2 +-
 common/cmd_mac.c                              |    2 +-
 common/cmd_mem.c                              |   40 +++++++++++-----------
 common/cmd_mfsl.c                             |    6 ++--
 common/cmd_mgdisk.c                           |    2 +-
 common/cmd_mii.c                              |    2 +-
 common/cmd_misc.c                             |    2 +-
 common/cmd_mmc.c                              |    6 ++--
 common/cmd_mp.c                               |    2 +-
 common/cmd_mtdparts.c                         |    4 +-
 common/cmd_nand.c                             |    6 ++--
 common/cmd_net.c                              |   24 +++++++-------
 common/cmd_nvedit.c                           |   18 +++++-----
 common/cmd_onenand.c                          |   20 ++++++------
 common/cmd_otp.c                              |    2 +-
 common/cmd_pci.c                              |    2 +-
 common/cmd_pcmcia.c                           |    2 +-
 common/cmd_portio.c                           |    4 +-
 common/cmd_reginfo.c                          |    2 +-
 common/cmd_reiser.c                           |    4 +-
 common/cmd_sata.c                             |    2 +-
 common/cmd_scsi.c                             |    4 +-
 common/cmd_setexpr.c                          |    2 +-
 common/cmd_sf.c                               |    8 ++--
 common/cmd_source.c                           |    2 +-
 common/cmd_spi.c                              |    2 +-
 common/cmd_spibootldr.c                       |    2 +-
 common/cmd_strings.c                          |    2 +-
 common/cmd_terminal.c                         |    2 +-
 common/cmd_test.c                             |    8 ++--
 common/cmd_tsi148.c                           |    2 +-
 common/cmd_ubi.c                              |    2 +-
 common/cmd_ubifs.c                            |    6 ++--
 common/cmd_universe.c                         |    2 +-
 common/cmd_usb.c                              |    4 +-
 common/cmd_version.c                          |    2 +-
 common/cmd_vfd.c                              |    2 +-
 common/cmd_ximg.c                             |    2 +-
 common/cmd_yaffs2.c                           |   24 +++++++-------
 common/command.c                              |   12 +++---
 common/hush.c                                 |   10 +++---
 common/image.c                                |    6 ++--
 common/kgdb.c                                 |    2 +-
 common/lcd.c                                  |    4 +-
 common/main.c                                 |    6 ++--
 doc/README.standalone                         |    2 +-
 drivers/gpio/pca953x.c                        |    2 +-
 drivers/misc/ds4510.c                         |    2 +-
 drivers/misc/fsl_pmic.c                       |    2 +-
 drivers/qe/qe.c                               |    2 +-
 examples/api/demo.c                           |    2 +-
 examples/standalone/82559_eeprom.c            |    2 +-
 examples/standalone/atmel_df_pow2.c           |    2 +-
 examples/standalone/eepro100_eeprom.c         |    2 +-
 examples/standalone/hello_world.c             |    2 +-
 examples/standalone/interrupt.c               |    2 +-
 examples/standalone/mem_to_mem_idma2intr.c    |    4 +-
 examples/standalone/smc91111_eeprom.c         |    2 +-
 examples/standalone/smc911x_eeprom.c          |    2 +-
 examples/standalone/stubs.c                   |    2 +-
 examples/standalone/test_burst.c              |    2 +-
 examples/standalone/timer.c                   |    2 +-
 include/bedbug/type.h                         |    2 +-
Quoted 8 lines
 include/command.h                             |    8 ++--
 include/common.h                              |    2 +-
 include/exports.h                             |    2 +-
 include/image.h                               |    4 +-
 include/kgdb.h                                |    2 +-
 include/vxworks.h                             |    2 +-
 lib/vsprintf.c                                |    2 +-
 295 files changed, 659 insertions(+), 658 deletions(-)

Applied.

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
When the bosses talk about improving  productivity,  they  are  never
talking about themselves.