diff options
author | Lukasz Majewski <l.majewski@samsung.com> | 2013-10-08 14:30:38 +0200 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2013-10-20 23:42:40 +0200 |
commit | fed936ed8004dd4972777aa29d882b7e88c6da7b (patch) | |
tree | cd8440891d35fa5999bbc47e0b43ed809f53deae | |
parent | 57ffabe37114fe67f5ffac5805b343e4e1979b57 (diff) | |
download | u-boot-fed936ed8004dd4972777aa29d882b7e88c6da7b.tar.gz u-boot-fed936ed8004dd4972777aa29d882b7e88c6da7b.tar.bz2 u-boot-fed936ed8004dd4972777aa29d882b7e88c6da7b.zip |
dfu:core: Find DFU alt setting number by passing its name
New function - dfu_get_alt() - has been added to dfu core. If present, it
returns alt setting's number corresponding to passed name.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
-rw-r--r-- | drivers/dfu/dfu.c | 12 | ||||
-rw-r--r-- | include/dfu.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c index f3287359db..4ec330ce5b 100644 --- a/drivers/dfu/dfu.c +++ b/drivers/dfu/dfu.c @@ -440,3 +440,15 @@ struct dfu_entity *dfu_get_entity(int alt) return NULL; } + +int dfu_get_alt(char *name) +{ + struct dfu_entity *dfu; + + list_for_each_entry(dfu, &dfu_list, list) { + if (!strncmp(dfu->name, name, strlen(dfu->name))) + return dfu->alt; + } + + return -ENODEV; +} diff --git a/include/dfu.h b/include/dfu.h index b2ecf1bebe..b14425503d 100644 --- a/include/dfu.h +++ b/include/dfu.h @@ -126,6 +126,7 @@ const char *dfu_get_layout(enum dfu_layout l); struct dfu_entity *dfu_get_entity(int alt); char *dfu_extract_token(char** e, int *n); void dfu_trigger_reset(void); +int dfu_get_alt(char *name); bool dfu_reset(void); int dfu_init_env_entities(char *interface, int dev); |