X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Flpc3180_nand_controller.c;h=146c84382d0769862038b2067920e374442cfef2;hp=4a15e3645625c6f9c22ab3ee5618460b8271d999;hb=90d09e35e4be6f0b35899238b253154249f85cb6;hpb=2f6e56e38320350bb300b363d0b3737fa8d1f3ea diff --git a/src/flash/lpc3180_nand_controller.c b/src/flash/lpc3180_nand_controller.c index 4a15e36456..146c84382d 100644 --- a/src/flash/lpc3180_nand_controller.c +++ b/src/flash/lpc3180_nand_controller.c @@ -31,21 +31,21 @@ static int lpc3180_controller_ready(struct nand_device *nand, int timeout); */ NAND_DEVICE_COMMAND_HANDLER(lpc3180_nand_device_command) { - if (argc < 3) + if (CMD_ARGC < 3) { LOG_WARNING("incomplete 'lpc3180' nand flash configuration"); 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)); @@ -836,29 +836,29 @@ COMMAND_HANDLER(handle_lpc3180_select_command) "no", "mlc", "slc" }; - if ((argc < 1) || (argc > 2)) + if ((CMD_ARGC < 1) || (CMD_ARGC > 2)) { return ERROR_COMMAND_SYNTAX_ERROR; } 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; } lpc3180_info = nand->controller_priv; - if (argc == 2) + 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,24 +868,35 @@ 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 int lpc3180_register_commands(struct command_context_s *cmd_ctx) -{ - command_t *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; -} +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 +}; struct nand_flash_controller lpc3180_nand_controller = { .name = "lpc3180", + .commands = lpc3180_command_handler, .nand_device_command = lpc3180_nand_device_command, - .register_commands = lpc3180_register_commands, .init = lpc3180_init, .reset = lpc3180_reset, .command = lpc3180_command,