From 57c5c5f46304a785092874a7dc0f6abc84794cc3 Mon Sep 17 00:00:00 2001 From: Zachary T Welch Date: Tue, 10 Nov 2009 01:39:30 -0800 Subject: [PATCH] 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. --- src/flash/flash.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/flash/flash.h b/src/flash/flash.h index 7f5875edd..7afb13274 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.