From 870b8c04557f0b7441cc502debaf537984d77e2a Mon Sep 17 00:00:00 2001 From: Zachary T Welch Date: Tue, 17 Nov 2009 13:04:49 -0800 Subject: 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. --- src/flash/flash.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/flash/flash.h') 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 @@ -309,6 +309,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. @@ -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. -- cgit v1.2.3