nand: add NAND_DEVICE_COMMAND_HANDLER macro

Abstracts the extended NAND command handling to allow the function
signature to be controlled by __COMMAND_HANDLER.
This commit is contained in:
Zachary T Welch
2009-11-10 00:53:40 -08:00
parent 0796dfff89
commit 670f999e7a
9 changed files with 14 additions and 23 deletions

View File

@@ -29,10 +29,13 @@
struct nand_device_s;
#define __NAND_DEVICE_COMMAND(name) \
COMMAND_HELPER(name, struct nand_device_s *nand)
typedef struct nand_flash_controller_s
{
char *name;
int (*nand_device_command)(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct nand_device_s *nand);
__NAND_DEVICE_COMMAND((*nand_device_command));
int (*register_commands)(struct command_context_s *cmd_ctx);
int (*init)(struct nand_device_s *nand);
int (*reset)(struct nand_device_s *nand);
@@ -48,6 +51,8 @@ typedef struct nand_flash_controller_s
int (*nand_ready)(struct nand_device_s *nand, int timeout);
} nand_flash_controller_t;
#define NAND_DEVICE_COMMAND_HANDLER(name) static __NAND_DEVICE_COMMAND(name)
typedef struct nand_block_s
{
uint32_t offset;