summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZachary T Welch <zw@superlucidity.net>2009-11-10 01:39:30 -0800
committerZachary T Welch <zw@superlucidity.net>2009-11-13 10:51:46 -0800
commit57c5c5f46304a785092874a7dc0f6abc84794cc3 (patch)
treec84975947ef11a4cb0323394fdd76c78236f8731 /src
parent76868e071306bc83d25b89e57b785fef4637c4c8 (diff)
downloadopenocd+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.h8
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.