summaryrefslogtreecommitdiff
path: root/src/pld
diff options
context:
space:
mode:
Diffstat (limited to 'src/pld')
-rw-r--r--src/pld/pld.c35
-rw-r--r--src/pld/virtex2.c41
2 files changed, 34 insertions, 42 deletions
diff --git a/src/pld/pld.c b/src/pld/pld.c
index 2bfb4016..df7e2fda 100644
--- a/src/pld/pld.c
+++ b/src/pld/pld.c
@@ -39,26 +39,6 @@ static pld_driver_t *pld_drivers[] =
static pld_device_t *pld_devices;
static command_t *pld_cmd;
-static int handle_pld_devices_command(struct command_context_s *cmd_ctx,
- char *cmd, char **args, int argc);
-static int handle_pld_device_command(struct command_context_s *cmd_ctx,
- char *cmd, char **args, int argc);
-static int handle_pld_load_command(struct command_context_s *cmd_ctx,
- char *cmd, char **args, int argc);
-
-int pld_init(struct command_context_s *cmd_ctx)
-{
- if (pld_devices)
- {
- register_command(cmd_ctx, pld_cmd, "devices", handle_pld_devices_command, COMMAND_EXEC,
- "list configured pld devices");
- register_command(cmd_ctx, pld_cmd, "load", handle_pld_load_command, COMMAND_EXEC,
- "load configuration <file> into programmable logic device");
- }
-
- return ERROR_OK;
-}
-
pld_device_t *get_pld_device_by_num(int num)
{
pld_device_t *p;
@@ -206,6 +186,21 @@ static int handle_pld_load_command(struct command_context_s *cmd_ctx,
return ERROR_OK;
}
+int pld_init(struct command_context_s *cmd_ctx)
+{
+ if (!pld_devices)
+ return ERROR_OK;
+
+ register_command(cmd_ctx, pld_cmd, "devices",
+ handle_pld_devices_command, COMMAND_EXEC,
+ "list configured pld devices");
+ register_command(cmd_ctx, pld_cmd, "load",
+ handle_pld_load_command, COMMAND_EXEC,
+ "load configuration <file> into programmable logic device");
+
+ return ERROR_OK;
+}
+
int pld_register_commands(struct command_context_s *cmd_ctx)
{
pld_cmd = register_command(cmd_ctx, NULL, "pld", NULL, COMMAND_ANY, "programmable logic device commands");
diff --git a/src/pld/virtex2.c b/src/pld/virtex2.c
index ec0847fe..fa646505 100644
--- a/src/pld/virtex2.c
+++ b/src/pld/virtex2.c
@@ -26,18 +26,6 @@
#include "pld.h"
-static int virtex2_register_commands(struct command_context_s *cmd_ctx);
-static int virtex2_pld_device_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct pld_device_s *pld_device);
-static int virtex2_load(struct pld_device_s *pld_device, char *filename);
-
-pld_driver_t virtex2_pld =
-{
- .name = "virtex2",
- .register_commands = virtex2_register_commands,
- .pld_device_command = virtex2_pld_device_command,
- .load = virtex2_load,
-};
-
static int virtex2_set_instr(jtag_tap_t *tap, uint32_t new_instr)
{
if (tap == NULL)
@@ -220,16 +208,6 @@ static int virtex2_handle_read_stat_command(struct command_context_s *cmd_ctx,
return ERROR_OK;
}
-static int virtex2_register_commands(struct command_context_s *cmd_ctx)
-{
- command_t *virtex2_cmd = register_command(cmd_ctx, NULL, "virtex2", NULL, COMMAND_ANY, "virtex2 specific commands");
-
- register_command(cmd_ctx, virtex2_cmd, "read_stat", virtex2_handle_read_stat_command, COMMAND_EXEC,
- "read Virtex-II status register");
-
- return ERROR_OK;
-}
-
static int virtex2_pld_device_command(struct command_context_s *cmd_ctx,
char *cmd, char **args, int argc, struct pld_device_s *pld_device)
{
@@ -255,3 +233,22 @@ static int virtex2_pld_device_command(struct command_context_s *cmd_ctx,
return ERROR_OK;
}
+
+static int virtex2_register_commands(struct command_context_s *cmd_ctx)
+{
+ command_t *virtex2_cmd = register_command(cmd_ctx, NULL, "virtex2",
+ NULL, COMMAND_ANY, "virtex2 specific commands");
+
+ register_command(cmd_ctx, virtex2_cmd, "read_stat",
+ &virtex2_handle_read_stat_command, COMMAND_EXEC,
+ "read Virtex-II status register");
+
+ return ERROR_OK;
+}
+
+pld_driver_t virtex2_pld = {
+ .name = "virtex2",
+ .register_commands = &virtex2_register_commands,
+ .pld_device_command = &virtex2_pld_device_command,
+ .load = &virtex2_load,
+ };