summaryrefslogtreecommitdiff
path: root/src/flash/flash.h
diff options
context:
space:
mode:
authorZachary T Welch <zw@superlucidity.net>2009-11-17 13:04:49 -0800
committerZachary T Welch <zw@superlucidity.net>2009-11-19 13:39:41 -0800
commit870b8c04557f0b7441cc502debaf537984d77e2a (patch)
tree38f868b2f6f76890f35e794937e8cccb834e2a66 /src/flash/flash.h
parent8f446fcf676e9cd13cf53d9946f0cae5d29a10ec (diff)
downloadopenocd+libswd-870b8c04557f0b7441cc502debaf537984d77e2a.tar.gz
openocd+libswd-870b8c04557f0b7441cc502debaf537984d77e2a.tar.bz2
openocd+libswd-870b8c04557f0b7441cc502debaf537984d77e2a.tar.xz
openocd+libswd-870b8c04557f0b7441cc502debaf537984d77e2a.zip
allow flash/nand banks commands to accept names
Add get_flash_bank_by_name (and get_nand_device_by_name) helpers to retrieves struct flash_bank * (struct nand_device *) given a driver name and an (optional) driver-specific bank index. These are used to extend flash_command_get_bank_by_num (and nand_command_get_device_by_num) to allow all flash (nand) commands to reference defined banks by name, not just by number. To avoid some code duplication, add the flash/common.[ch] files to hold functionality common to both types driver. The first two methods are helpers for the above routines to find a bank specified by a "name" or "name.index" string. get_flash_name_index() finds the '.index' portion, while flash_driver_name_matches() performs the string portion matching.
Diffstat (limited to 'src/flash/flash.h')
-rw-r--r--src/flash/flash.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/flash/flash.h b/src/flash/flash.h
index 23a7b818..fb88c353 100644
--- a/src/flash/flash.h
+++ b/src/flash/flash.h
@@ -310,6 +310,14 @@ int default_flash_blank_check(struct flash_bank *bank);
int default_flash_mem_blank_check(struct flash_bank *bank);
/**
+ * Returns the flash bank specified by @a name, which matches the
+ * driver name and a suffix (option) specify the driver-specific
+ * bank number. The suffix consists of the '.' and the driver-specific
+ * bank number: when two str9x banks are defined, then 'str9x.1' refers
+ * to the second.
+ */
+struct flash_bank *get_flash_bank_by_name(const char *name);
+/**
* Returns a flash bank by the specified flash_bank_s bank_number, @a num.
* @param num The flash bank number.
* @returns A struct flash_bank for flash bank @a num, or NULL
@@ -317,7 +325,9 @@ int default_flash_mem_blank_check(struct flash_bank *bank);
struct flash_bank *get_flash_bank_by_num(int num);
/**
* Retreives @a bank from a command argument, reporting errors parsing
- * the bank identifier or retreiving the specified bank.
+ * the bank identifier or retreiving the specified bank. The bank
+ * may be identified by its bank number or by @c name.instance, where
+ * @a instance is driver-specific.
* @param name_index The index to the string in args containing the
* bank identifier.
* @param bank On output, contians a pointer to the bank or NULL.