u-boot/common
Scott Wood 3048632251 nand erase: .spread, .part, .chip subcommands
A while back, in http://lists.denx.de/pipermail/u-boot/2009-June/054428.html,
Michele De Candia posted a patch to not count bad blocks toward the
requested size to be erased.  This is desireable when you're passing in
something like $filesize, but not when you're trying to erase a partition.

Thus, a .spread subcommand (named for consistency with
http://lists.denx.de/pipermail/u-boot/2010-August/075163.html) is introduced
to make explicit the user's desire to erase for a given amount of data,
rather than to erase a specific region of the chip.

While passing $filesize to "nand erase" is useful, accidentally passing
something like $fliesize currently produces quite unpleasant results, as the
variable evaluates to nothing and U-Boot assumes that you want to erase
the entire rest of the chip/partition.  To improve the safety of the
erase command, require the user to make explicit their intentions by
using a .part or .chip subcommand.  This is an incompatible user interface
change, but keeping compatibility would eliminate the safety gain, and IMHO
it's worth it.

While touching nand_erase_opts(), make it accept 64-bit offsets and sizes,
fix the percentage display when erase length is rounded up, eliminate
an inconsistent warning about rounding up the erase length which only
happened when the length was less than one block (rounding up for $filesize
is normal operation), and add a diagnostic if there's an attempt to erase
beginning at a non-block boundary.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Tested-by: Ben Gardiner <bengardiner@nanometrics.ca>
2010-10-11 15:10:17 -05:00
..
bedbug.c common: Move conditional compilation to Makefile 2008-08-13 01:40:38 +02:00
cmd_ambapp.c various cmd_* files: fixed layout a little bit 2010-08-09 01:07:37 +02:00
cmd_bdinfo.c x86: Remove bi_env from do_bdinfo 2010-10-07 20:03:17 +11:00
cmd_bedbug.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_bmp.c ARM: add relocation support 2010-09-19 19:29:53 +02:00
cmd_boot.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_bootldr.c various cmd_* files: fixed layout a little bit 2010-08-09 01:07:37 +02:00
cmd_bootm.c Add support for operating system OSE 2010-09-28 14:42:26 +02:00
cmd_cache.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_console.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_cplbinfo.c various cmd_* files: fixed layout a little bit 2010-08-09 01:07:37 +02:00
cmd_cramfs.c various cmd_* files: remove the command name from the help message 2010-08-09 01:06:34 +02:00
cmd_dataflash_mmc_mux.c various cmd_* files: remove the command name from the help message 2010-08-09 01:06:34 +02:00
cmd_date.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_dcr.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_df.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_diag.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_display.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_dtt.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_echo.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_eeprom.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_elf.c cmd_elf: add an option for loading ELFs according to PHDRs 2010-10-06 22:42:14 +02:00
cmd_exit.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_ext2.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_fat.c fs/fat: Big code cleanup. 2010-07-24 20:54:46 +02:00
cmd_fdc.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_fdos.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_fdt.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_flash.c cfi_flash: Remove uneccessary #ifdef CONFIG_SYS_MAX_FLASH_BANKS_DETECT 2010-09-20 15:09:00 +02:00
cmd_fpga.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_help.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_i2c.c ARM: add relocation support 2010-09-19 19:29:53 +02:00
cmd_ide.c Remove HMI10 board support 2010-09-19 21:28:25 +02:00
cmd_immap.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_irq.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_itest.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_jffs2.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_license.c various cmd_* files: fixed layout a little bit 2010-08-09 01:07:37 +02:00
cmd_load.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_log.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_mac.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_mem.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_mfsl.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_mgdisk.c various cmd_* files: remove the command name from the help message 2010-08-09 01:06:34 +02:00
cmd_mii.c miiphy: constify device name 2010-08-09 11:52:29 -07:00
cmd_misc.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_mmc.c cmd_mmc: use common usage function 2010-09-21 21:37:08 +02:00
cmd_mp.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_mtdparts.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_nand.c nand erase: .spread, .part, .chip subcommands 2010-10-11 15:10:17 -05:00
cmd_net.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_nvedit.c env: fix cmd_env_sub fct pointers if CONFIG_RELOC_FIXUP_WORKS is not defined 2010-10-06 22:34:30 +02:00
cmd_onenand.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_otp.c Blackfin: otp: fix build after constification of args[] 2010-10-02 16:00:40 -04:00
cmd_pci.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_pcmcia.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_portio.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_reginfo.c mpc85xx: Add reginfo command 2010-07-16 10:55:09 -05:00
cmd_reiser.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_sata.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_scsi.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_setexpr.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_sf.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_source.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_spi.c sspi: add options to specify bus and mode 2010-10-06 20:50:38 -04:00
cmd_spibootldr.c various cmd_* files: fixed layout a little bit 2010-08-09 01:07:37 +02:00
cmd_strings.c various cmd_* files: fixed layout a little bit 2010-08-09 01:07:37 +02:00
cmd_terminal.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_test.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_tsi148.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_ubi.c various cmd_* files: fixed layout a little bit 2010-08-09 01:07:37 +02:00
cmd_ubifs.c various cmd_* files: fixed layout a little bit 2010-08-09 01:07:37 +02:00
cmd_universe.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_usb.c Fixed clobbered output of the "help usb" command 2010-08-12 16:40:00 +02:00
cmd_version.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
cmd_vfd.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
cmd_ximg.c various cmd_* files: fixed layout a little bit 2010-08-09 01:07:37 +02:00
cmd_yaffs2.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
command.c relocation: fixup cmdtable 2010-09-19 19:29:51 +02:00
console.c Make *printf() return "int" instead of "void" 2010-07-04 23:51:49 +02:00
ddr_spd.c Enabled support for Rev 1.3 SPD for DDR2 DIMMs 2010-05-12 04:54:30 -05:00
dlmalloc.c New implementation for internal handling of environment variables. 2010-09-19 19:29:48 +02:00
dlmalloc.src * Code cleanup: 2003-06-27 21:31:46 +00:00
env_common.c env: fix cmd_env_sub fct pointers if CONFIG_RELOC_FIXUP_WORKS is not defined 2010-10-06 22:34:30 +02:00
env_dataflash.c New implementation for internal handling of environment variables. 2010-09-19 19:29:48 +02:00
env_eeprom.c New implementation for internal handling of environment variables. 2010-09-19 19:29:48 +02:00
env_embedded.c Revert "env: only build env_embedded and envcrc when needed" 2009-10-27 20:46:31 +01:00
env_flash.c New implementation for internal handling of environment variables. 2010-09-19 19:29:48 +02:00
env_mgdisk.c New implementation for internal handling of environment variables. 2010-09-19 19:29:48 +02:00
env_mmc.c env_mmc: Fix broken build due to set_default_env() change 2010-10-06 22:23:30 +02:00
env_nand.c New implementation for internal handling of environment variables. 2010-09-19 19:29:48 +02:00
env_nowhere.c New implementation for internal handling of environment variables. 2010-09-19 19:29:48 +02:00
env_nvram.c New implementation for internal handling of environment variables. 2010-09-19 19:29:48 +02:00
env_onenand.c New implementation for internal handling of environment variables. 2010-09-19 19:29:48 +02:00
env_sf.c New implementation for internal handling of environment variables. 2010-09-19 19:29:48 +02:00
exports.c Remove support for CONFIG_HAS_UID and "forceenv" command 2010-09-19 19:29:47 +02:00
fdt_support.c ppc4xx/fdt/flash: Fix bug in fdt_fixup_nor_flash_node() 2010-10-04 11:19:49 +02:00
flash.c cfi_flash: Simplify dynamic flash bank number detection 2010-09-20 15:08:51 +02:00
hush.c cmd_usage(): simplify return code handling 2010-07-24 20:43:57 +02:00
hwconfig.c hwconfig: Add some unit tests 2010-06-29 22:24:48 +02:00
image.c Add support for operating system OSE 2010-09-28 14:42:26 +02:00
iomux.c stdio/device: rework function naming convention 2009-07-18 00:27:46 +02:00
kallsyms.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
kgdb.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
kgdb_stubs.c kgdb: add default generic stubs 2010-01-18 00:23:00 +01:00
lcd.c Enable PXAFB for PXA27X and PXA3XX 2010-07-14 22:41:39 +02:00
lynxkdi.c Fix implicit declaration of function 'eth_[gs]etenv_enetaddr' 2009-03-28 20:16:16 +01:00
main.c Replace MAX_CMDBUF_SIZE references with CONFIG_SYS_CBSIZE 2010-10-06 23:02:37 +02:00
Makefile Save environment data to mmc. 2010-09-19 17:47:29 +02:00
memsize.c Sequential accesses to non-existent memory must be synchronized, 2006-11-06 17:06:36 +01:00
miiphyutil.c miiphy: leverage current_mii cache more 2010-08-09 11:52:30 -07:00
modem.c make MODEM SUPPORT generic instead of duplicate it 2009-06-12 20:45:47 +02:00
s_record.c Initial revision 2002-08-17 09:36:01 +00:00
serial.c serial.c: Fix build breakage introduced with commit e3c78c9b 2010-10-06 22:35:49 +02:00
stdio.c Remove unused CONFIG_SERIAL_SOFTWARE_FIFO feature 2010-09-23 09:02:05 +02:00
system_map.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
update.c rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
usb.c USB: usb_control_msg wait for driver ISR to set status. 2010-02-03 22:06:59 +01:00
usb_kbd.c USB Consolidate descriptor definitions 2009-12-20 12:47:37 +01:00
usb_storage.c usb_storage.c: change progress output in debug() message 2010-07-24 20:53:50 +02:00
xyzModem.c common: fix 'dummy' is used uninitialized in this function warning 2009-07-19 21:37:02 +02:00