From: Lukasz Majewski Date: Tue, 8 Oct 2013 12:30:38 +0000 (+0200) Subject: dfu:core: Find DFU alt setting number by passing its name X-Git-Tag: v2014.01-rc1~207^2~24 X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=commitdiff_plain;h=fed936ed8004dd4972777aa29d882b7e88c6da7b 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 --- 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);