diff options
author | Zachary T Welch <zw@superlucidity.net> | 2009-11-10 01:39:30 -0800 |
---|---|---|
committer | Zachary T Welch <zw@superlucidity.net> | 2009-11-13 10:51:46 -0800 |
commit | 57c5c5f46304a785092874a7dc0f6abc84794cc3 (patch) | |
tree | c84975947ef11a4cb0323394fdd76c78236f8731 /src | |
parent | 76868e071306bc83d25b89e57b785fef4637c4c8 (diff) | |
download | openocd+libswd-57c5c5f46304a785092874a7dc0f6abc84794cc3.tar.gz openocd+libswd-57c5c5f46304a785092874a7dc0f6abc84794cc3.tar.bz2 openocd+libswd-57c5c5f46304a785092874a7dc0f6abc84794cc3.tar.xz openocd+libswd-57c5c5f46304a785092874a7dc0f6abc84794cc3.zip |
add FLASH_BANK_COMMAND_HANDLER macro
The FLASH_BANK_COMMAND_HANDLER provides an extended command handler
using the __COMMAND_HANDLER macro, whereby changing that macro is
sufficient to update flash handlers with the new signature. It also
enforces uniform style and scope when implementing this handler.
Diffstat (limited to 'src')
-rw-r--r-- | src/flash/flash.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/flash/flash.h b/src/flash/flash.h index 7f5875ed..7afb1327 100644 --- a/src/flash/flash.h +++ b/src/flash/flash.h @@ -59,6 +59,9 @@ typedef struct flash_sector_s struct flash_bank_s; +#define __FLASH_BANK_COMMAND(name) \ + COMMAND_HELPER(name, struct flash_bank_s *bank) + /** * @brief Provides the implementation-independent structure that defines * all of the callbacks required by OpenOCD flash drivers. @@ -121,8 +124,7 @@ typedef struct flash_driver_s * * @returns ERROR_OK if successful; otherwise, an error code. */ - int (*flash_bank_command)(struct command_context_s *cmd_ctx, - char *cmd, char **args, int argc, struct flash_bank_s *bank); + __FLASH_BANK_COMMAND((*flash_bank_command)); /** * Bank/sector erase routine (target-specific). When @@ -224,6 +226,8 @@ typedef struct flash_driver_s int (*auto_probe)(struct flash_bank_s *bank); } flash_driver_t; +#define FLASH_BANK_COMMAND_HANDLER(name) static __FLASH_BANK_COMMAND(name) + /** * Provides details of a flash bank, available either on-chip or through * a major interface. |