[U-Boot] [PATCH 3/4] dfu: Find DFU alt setting number by passing its name

Marek Vasut
2013-09-10T14:32:53Z

Dear Lukasz Majewski,

> New function - dfu_get_alt() has been added to dfu core. If proper
> alt setting is present, this function returns its number
> corresponding to passed name.
>
> Change-Id: Icd75f3aa3a6f6e306c77b28cabe620e4e6a253ea
> Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
> ---
> drivers/dfu/dfu.c | 12 ++++++++++++
> include/dfu.h | 1 +
> 2 files changed, 13 insertions(+)
>
> diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c
> index 2f1e2af..180d083 100644
> --- a/drivers/dfu/dfu.c
> +++ b/drivers/dfu/dfu.c
> @@ -414,3 +414,15 @@ struct dfu_entity *dfu_get_entity(int alt)
>
> return NULL;
> }
> +
> +int dfu_get_alt(const 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 7779710..8838f9c 100644
> --- a/include/dfu.h
> +++ b/include/dfu.h
> @@ -112,6 +112,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(const char *name);
> bool dfu_reset(void);
>
> int dfu_read(struct dfu_entity *de, void *buf, int size, int blk_seq_num);

Is this code used anywhere ?

Best regards,
Marek Vasut