diff options
author | Øyvind Harboe <oyvind.harboe@zylin.com> | 2011-12-28 13:10:52 +0100 |
---|---|---|
committer | Spencer Oliver <spen@spen-soft.co.uk> | 2012-01-04 17:15:03 +0000 |
commit | ae7ab8b09d1c69559284ad9d9e3c17345d2496dd (patch) | |
tree | f6c3ad3fcf3f6dcda3d87c52e956807794484277 /src | |
parent | 4668bd264cfe64c3e3ddd0f75cb5bf2e5e85f717 (diff) | |
download | riscv-openocd-ae7ab8b09d1c69559284ad9d9e3c17345d2496dd.zip riscv-openocd-ae7ab8b09d1c69559284ad9d9e3c17345d2496dd.tar.gz riscv-openocd-ae7ab8b09d1c69559284ad9d9e3c17345d2496dd.tar.bz2 |
flash: introduce .usage field for nand and nor flash driver structure
Change-Id: I47e7ec8fa8c70d2addc3aa52d7c97e9e1e7bb662
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Reviewed-on: http://openocd.zylin.com/301
Tested-by: jenkins
Reviewed-by: Øyvind Harboe <oyvindharboe@gmail.com>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'src')
-rw-r--r-- | src/flash/nand/driver.h | 3 | ||||
-rw-r--r-- | src/flash/nand/tcl.c | 13 | ||||
-rw-r--r-- | src/flash/nor/driver.h | 5 |
3 files changed, 15 insertions, 6 deletions
diff --git a/src/flash/nand/driver.h b/src/flash/nand/driver.h index 4edce9f..04ec64f 100644 --- a/src/flash/nand/driver.h +++ b/src/flash/nand/driver.h @@ -37,6 +37,9 @@ struct nand_flash_controller /** Driver name that is used to select it from configuration files. */ const char *name; + /** Usage of flash command registration. */ + const char *usage; + const struct command_registration *commands; /** NAND device command called when driver is instantiated during configuration. */ diff --git a/src/flash/nand/tcl.c b/src/flash/nand/tcl.c index 5fba1bc..c6ea3f3 100644 --- a/src/flash/nand/tcl.c +++ b/src/flash/nand/tcl.c @@ -544,8 +544,7 @@ static COMMAND_HELPER(create_nand_device, const char *bank_name, if (CMD_ARGC < 2) { - LOG_ERROR("missing target"); - return ERROR_COMMAND_ARGUMENT_INVALID; + return ERROR_COMMAND_SYNTAX_ERROR; } target = get_target(CMD_ARGV[1]); if (!target) { @@ -582,9 +581,12 @@ static COMMAND_HELPER(create_nand_device, const char *bank_name, retval = CALL_COMMAND_HANDLER(controller->nand_device_command, c); if (ERROR_OK != retval) { - LOG_ERROR("'%s' driver rejected nand flash", controller->name); + assert(controller->usage != NULL); + LOG_ERROR("'%s' driver rejected nand flash. Usage: %s", + controller->name, + controller->usage); free(c); - return ERROR_OK; + return retval; } nand_device_add(c); @@ -596,8 +598,7 @@ COMMAND_HANDLER(handle_nand_device_command) { if (CMD_ARGC < 2) { - LOG_ERROR("incomplete nand device configuration"); - return ERROR_FLASH_BANK_INVALID; + return ERROR_COMMAND_SYNTAX_ERROR; } // save name and increment (for compatibility) with drivers diff --git a/src/flash/nor/driver.h b/src/flash/nor/driver.h index afd0528..3b8e31a 100644 --- a/src/flash/nor/driver.h +++ b/src/flash/nor/driver.h @@ -57,6 +57,11 @@ struct flash_driver const char *name; /** + * Gives a human-readable description of arguments. + */ + const char *usage; + + /** * An array of driver-specific commands to register. When called * during the "flash bank" command, the driver can register addition * commands to support new flash chip functions. |