add PLD_DEVICE_COMMAND_HANDLER macro
Update virtex module to use abstracted PLD command handling.
This commit is contained in:
parent
670f999e7a
commit
1df5cc18f5
|
@ -24,14 +24,19 @@
|
||||||
|
|
||||||
struct pld_device_s;
|
struct pld_device_s;
|
||||||
|
|
||||||
|
#define __PLD_DEVICE_COMMAND(name) \
|
||||||
|
COMMAND_HELPER(name, struct pld_device_s *pld)
|
||||||
|
|
||||||
typedef struct pld_driver_s
|
typedef struct pld_driver_s
|
||||||
{
|
{
|
||||||
char *name;
|
char *name;
|
||||||
|
__PLD_DEVICE_COMMAND((*pld_device_command));
|
||||||
int (*register_commands)(struct command_context_s *cmd_ctx);
|
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);
|
int (*load)(struct pld_device_s *pld_device, const char *filename);
|
||||||
} pld_driver_t;
|
} pld_driver_t;
|
||||||
|
|
||||||
|
#define PLD_DEVICE_COMMAND_HANDLER(name) static __PLD_DEVICE_COMMAND(name)
|
||||||
|
|
||||||
typedef struct pld_device_s
|
typedef struct pld_device_s
|
||||||
{
|
{
|
||||||
pld_driver_t *driver;
|
pld_driver_t *driver;
|
||||||
|
|
|
@ -207,8 +207,7 @@ COMMAND_HANDLER(virtex2_handle_read_stat_command)
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int virtex2_pld_device_command(struct command_context_s *cmd_ctx,
|
PLD_DEVICE_COMMAND_HANDLER(virtex2_pld_device_command)
|
||||||
char *cmd, char **args, int argc, struct pld_device_s *pld_device)
|
|
||||||
{
|
{
|
||||||
jtag_tap_t *tap;
|
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));
|
virtex2_info = malloc(sizeof(virtex2_pld_device_t));
|
||||||
pld_device->driver_priv = virtex2_info;
|
|
||||||
virtex2_info->tap = tap;
|
virtex2_info->tap = tap;
|
||||||
|
|
||||||
|
pld->driver_priv = virtex2_info;
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue