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