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 | |
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.
-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. |