]> git.sur5r.net Git - openocd/blobdiff - src/flash/flash.h
nand_block_t -> struct nand_block
[openocd] / src / flash / flash.h
index 7f5875edde3dd79a2ac331748c81243c8c9629b8..9cd592321c3b3a946f8e34b06f9c97e81882730b 100644 (file)
@@ -38,7 +38,7 @@ struct image_s;
  * within a flash bank.  A single bank typically consists of multiple
  * sectors, each of which can be erased and protected independently.
  */
-typedef struct flash_sector_s
+struct flash_sector
 {
        /// Bus offset from start of the flash chip (in bytes).
        uint32_t offset;
@@ -55,10 +55,13 @@ typedef struct flash_sector_s
         * @c flash_driver_s::protect_check.
         */
        int is_protected;
-} flash_sector_t;
+};
 
 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.
@@ -79,7 +82,7 @@ struct flash_bank_s;
  * corresponding static <code>flash_driver_<i>callback</i>()</code>
  * routine in flash.c.
  */
-typedef struct flash_driver_s
+struct flash_driver
 {
        /**
         * Gives a human-readable name of this flash driver,
@@ -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
@@ -222,7 +224,9 @@ typedef struct flash_driver_s
         * @returns ERROR_OK if successful; otherwise, an error code.
         */
        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
@@ -238,7 +242,7 @@ typedef struct flash_bank_s
 {
        struct target_s *target; /**< Target to which this bank belongs. */
 
-       flash_driver_t *driver; /**< Driver for this bank. */
+       struct flash_driver *driver; /**< Driver for this bank. */
        void *driver_priv; /**< Private driver storage pointer */
 
        int bank_number; /**< The 'bank' (or chip number) of this instance. */
@@ -255,7 +259,7 @@ typedef struct flash_bank_s
         */
        int num_sectors;
        /// Array of sectors, allocated and initilized by the flash driver
-       flash_sector_t *sectors;
+       struct flash_sector *sectors;
 
        struct flash_bank_s *next; /**< The next flash bank on this chip */
 } flash_bank_t;