char buf[200];
if (CMD_ARGC == 1)
{
- ft2232_device_desc = strdup(args[0]);
+ ft2232_device_desc = strdup(CMD_ARGV[0]);
cp = strchr(ft2232_device_desc, 0);
/* under Win32, the FTD2XX driver appends an "A" to the end
* of the description, this examines the given desc
{
if (CMD_ARGC == 1)
{
- ft2232_serial = strdup(args[0]);
+ ft2232_serial = strdup(CMD_ARGV[0]);
}
else
{
if (CMD_ARGC == 0)
return ERROR_OK;
- ft2232_layout = malloc(strlen(args[0]) + 1);
- strcpy(ft2232_layout, args[0]);
+ ft2232_layout = malloc(strlen(CMD_ARGV[0]) + 1);
+ strcpy(ft2232_layout, CMD_ARGV[0]);
return ERROR_OK;
}
unsigned i;
for (i = 0; i < CMD_ARGC; i += 2)
{
- COMMAND_PARSE_NUMBER(u16, args[i], ft2232_vid[i >> 1]);
- COMMAND_PARSE_NUMBER(u16, args[i + 1], ft2232_pid[i >> 1]);
+ COMMAND_PARSE_NUMBER(u16, CMD_ARGV[i], ft2232_vid[i >> 1]);
+ COMMAND_PARSE_NUMBER(u16, CMD_ARGV[i + 1], ft2232_pid[i >> 1]);
}
/*
{
if (CMD_ARGC == 1)
{
- ft2232_latency = atoi(args[0]);
+ ft2232_latency = atoi(CMD_ARGV[0]);
}
else
{
buffer_write(high_direction);
}
-static int ft2232_register_commands(struct command_context* cmd_ctx)
-{
- register_command(cmd_ctx, NULL, "ft2232_device_desc",
- ft2232_handle_device_desc_command, COMMAND_CONFIG,
- "the USB device description of the FTDI FT2232 device");
- register_command(cmd_ctx, NULL, "ft2232_serial",
- ft2232_handle_serial_command, COMMAND_CONFIG,
- "the serial number of the FTDI FT2232 device");
- register_command(cmd_ctx, NULL, "ft2232_layout",
- ft2232_handle_layout_command, COMMAND_CONFIG,
- "the layout of the FT2232 GPIO signals used "
- "to control output-enables and reset signals");
- register_command(cmd_ctx, NULL, "ft2232_vid_pid",
- ft2232_handle_vid_pid_command, COMMAND_CONFIG,
- "the vendor ID and product ID of the FTDI FT2232 device");
- register_command(cmd_ctx, NULL, "ft2232_latency",
- ft2232_handle_latency_command, COMMAND_CONFIG,
- "set the FT2232 latency timer to a new value");
-
- return ERROR_OK;
-}
-
+static const struct command_registration ft2232_command_handlers[] = {
+ {
+ .name = "ft2232_device_desc",
+ .handler = &ft2232_handle_device_desc_command,
+ .mode = COMMAND_CONFIG,
+ .help = "set the USB device description of the FTDI FT2232 device",
+ .usage = "<description>",
+ },
+ {
+ .name = "ft2232_serial",
+ .handler = &ft2232_handle_serial_command,
+ .mode = COMMAND_CONFIG,
+ .help = "set the serial number of the FTDI FT2232 device",
+ .usage = "<serial#>",
+ },
+ {
+ .name = "ft2232_layout",
+ .handler = &ft2232_handle_layout_command,
+ .mode = COMMAND_CONFIG,
+ .help = "set the layout of the FT2232 GPIO signals used "
+ "to control output-enables and reset signals",
+ .usage = "<layout>",
+ },
+ {
+ .name = "ft2232_vid_pid",
+ .handler = &ft2232_handle_vid_pid_command,
+ .mode = COMMAND_CONFIG,
+ .help = "the vendor ID and product ID of the FTDI FT2232 device",
+ .usage = "<vid> <pid> [...]",
+ },
+ {
+ .name = "ft2232_latency",
+ .handler = &ft2232_handle_latency_command,
+ .mode = COMMAND_CONFIG,
+ .help = "set the FT2232 latency timer to a new value",
+ .usage = "<vid> <pid> [...]",
+ },
+ COMMAND_REGISTRATION_DONE
+};
struct jtag_interface ft2232_interface = {
.name = "ft2232",
- .register_commands = &ft2232_register_commands,
+ .commands = ft2232_command_handlers,
.init = &ft2232_init,
.quit = &ft2232_quit,
.speed = &ft2232_speed,