X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fflash%2Flpc3180_nand_controller.c;h=2dec3e1236ea8de78a00b2ca2d553ec037f413be;hb=ad090413a8dfacccc993ff15b8376e0f2bd56712;hp=d7cbe388318ce2b4c77731531c67da7b3efeb293;hpb=7bf1a86e473a12882bf6f71cb4d0d416394b69d4;p=openocd.git diff --git a/src/flash/lpc3180_nand_controller.c b/src/flash/lpc3180_nand_controller.c index d7cbe38831..2dec3e1236 100644 --- a/src/flash/lpc3180_nand_controller.c +++ b/src/flash/lpc3180_nand_controller.c @@ -37,15 +37,15 @@ NAND_DEVICE_COMMAND_HANDLER(lpc3180_nand_device_command) return ERROR_FLASH_BANK_INVALID; } - struct target *target = get_target(args[1]); + struct target *target = get_target(CMD_ARGV[1]); if (NULL == target) { - LOG_ERROR("target '%s' not defined", args[1]); + LOG_ERROR("target '%s' not defined", CMD_ARGV[1]); return ERROR_NAND_DEVICE_INVALID; } uint32_t osc_freq; - COMMAND_PARSE_NUMBER(u32, args[2], osc_freq); + COMMAND_PARSE_NUMBER(u32, CMD_ARGV[2], osc_freq); struct lpc3180_nand_controller *lpc3180_info; lpc3180_info = malloc(sizeof(struct lpc3180_nand_controller)); @@ -842,11 +842,11 @@ COMMAND_HANDLER(handle_lpc3180_select_command) } unsigned num; - COMMAND_PARSE_NUMBER(uint, args[1], num); + COMMAND_PARSE_NUMBER(uint, CMD_ARGV[1], num); struct nand_device *nand = get_nand_device_by_num(num); if (!nand) { - command_print(cmd_ctx, "nand device '#%s' is out of bounds", args[0]); + command_print(CMD_CTX, "nand device '#%s' is out of bounds", CMD_ARGV[0]); return ERROR_OK; } @@ -854,11 +854,11 @@ COMMAND_HANDLER(handle_lpc3180_select_command) if (CMD_ARGC == 2) { - if (strcmp(args[1], "mlc") == 0) + if (strcmp(CMD_ARGV[1], "mlc") == 0) { lpc3180_info->selected_controller = LPC3180_MLC_CONTROLLER; } - else if (strcmp(args[1], "slc") == 0) + else if (strcmp(CMD_ARGV[1], "slc") == 0) { lpc3180_info->selected_controller = LPC3180_SLC_CONTROLLER; } @@ -868,18 +868,34 @@ COMMAND_HANDLER(handle_lpc3180_select_command) } } - command_print(cmd_ctx, "%s controller selected", selected[lpc3180_info->selected_controller]); + command_print(CMD_CTX, "%s controller selected", selected[lpc3180_info->selected_controller]); return ERROR_OK; } +static const struct command_registration lpc3180_exec_command_handlers[] = { + { + .name = "select", + .handler = &handle_lpc3180_select_command, + .mode = COMMAND_EXEC, + .help = "select <'mlc'|'slc'> controller (default is mlc)", + .usage = " (mlc|slc)", + }, + COMMAND_REGISTRATION_DONE +}; +static const struct command_registration lpc3180_command_handler[] = { + { + .name = "lpc3180", + .mode = COMMAND_ANY, + .help = "LPC3180 NAND flash controller commands", + .chain = lpc3180_exec_command_handlers, + }, + COMMAND_REGISTRATION_DONE +}; + static int lpc3180_register_commands(struct command_context *cmd_ctx) { - struct command *lpc3180_cmd = register_command(cmd_ctx, NULL, "lpc3180", NULL, COMMAND_ANY, "commands specific to the LPC3180 NAND flash controllers"); - - register_command(cmd_ctx, lpc3180_cmd, "select", handle_lpc3180_select_command, COMMAND_EXEC, "select <'mlc'|'slc'> controller (default is mlc)"); - - return ERROR_OK; + return register_commands(cmd_ctx, NULL, lpc3180_command_handler); } struct nand_flash_controller lpc3180_nand_controller = {