Browse Source

add PLD_DEVICE_COMMAND_HANDLER macro

Update virtex module to use abstracted PLD command handling.
tags/v0.4.0-rc1
Zachary T Welch 14 years ago
parent
commit
1df5cc18f5
2 changed files with 9 additions and 4 deletions
  1. +6
    -1
      src/pld/pld.h
  2. +3
    -3
      src/pld/virtex2.c

+ 6
- 1
src/pld/pld.h View File

@@ -24,14 +24,19 @@

struct pld_device_s;

#define __PLD_DEVICE_COMMAND(name) \
COMMAND_HELPER(name, struct pld_device_s *pld)

typedef struct pld_driver_s
{
char *name;
__PLD_DEVICE_COMMAND((*pld_device_command));
int (*register_commands)(struct command_context_s *cmd_ctx);
int (*pld_device_command)(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct pld_device_s *pld_device);
int (*load)(struct pld_device_s *pld_device, const char *filename);
} pld_driver_t;

#define PLD_DEVICE_COMMAND_HANDLER(name) static __PLD_DEVICE_COMMAND(name)

typedef struct pld_device_s
{
pld_driver_t *driver;


+ 3
- 3
src/pld/virtex2.c View File

@@ -207,8 +207,7 @@ COMMAND_HANDLER(virtex2_handle_read_stat_command)
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)
PLD_DEVICE_COMMAND_HANDLER(virtex2_pld_device_command)
{
jtag_tap_t *tap;

@@ -227,9 +226,10 @@ static int virtex2_pld_device_command(struct command_context_s *cmd_ctx,
}

virtex2_info = malloc(sizeof(virtex2_pld_device_t));
pld_device->driver_priv = virtex2_info;
virtex2_info->tap = tap;

pld->driver_priv = virtex2_info;

return ERROR_OK;
}



Loading…
Cancel
Save