mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-16 01:44:34 +00:00
dfu: rename dfu_tftp_write() to dfu_write_by_name()
This function is essentially independent from tftp, and will also be utilised in implementing UEFI capsule update in a later commit. So just give it a more generic name. In addition, a new configuration option, CONFIG_DFU_WRITE_ALT, was introduced so that the file will be compiled with different options, particularly one added in a later commit. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
3139356446
commit
045fd8b13d
5 changed files with 41 additions and 22 deletions
|
@ -324,8 +324,9 @@ got_update_file:
|
||||||
}
|
}
|
||||||
} else if (fit_image_check_type(fit, noffset,
|
} else if (fit_image_check_type(fit, noffset,
|
||||||
IH_TYPE_FIRMWARE)) {
|
IH_TYPE_FIRMWARE)) {
|
||||||
ret = dfu_tftp_write(fit_image_name, update_addr,
|
ret = dfu_write_by_name(fit_image_name, update_addr,
|
||||||
update_size, interface, devstring);
|
update_size, interface,
|
||||||
|
devstring);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,8 +14,13 @@ config DFU_OVER_TFTP
|
||||||
depends on NET
|
depends on NET
|
||||||
|
|
||||||
if DFU
|
if DFU
|
||||||
|
config DFU_WRITE_ALT
|
||||||
|
bool
|
||||||
|
default n
|
||||||
|
|
||||||
config DFU_TFTP
|
config DFU_TFTP
|
||||||
bool "DFU via TFTP"
|
bool "DFU via TFTP"
|
||||||
|
select DFU_WRITE_ALT
|
||||||
select DFU_OVER_TFTP
|
select DFU_OVER_TFTP
|
||||||
help
|
help
|
||||||
This option allows performing update of DFU-managed medium with data
|
This option allows performing update of DFU-managed medium with data
|
||||||
|
|
|
@ -9,5 +9,5 @@ obj-$(CONFIG_$(SPL_)DFU_MTD) += dfu_mtd.o
|
||||||
obj-$(CONFIG_$(SPL_)DFU_NAND) += dfu_nand.o
|
obj-$(CONFIG_$(SPL_)DFU_NAND) += dfu_nand.o
|
||||||
obj-$(CONFIG_$(SPL_)DFU_RAM) += dfu_ram.o
|
obj-$(CONFIG_$(SPL_)DFU_RAM) += dfu_ram.o
|
||||||
obj-$(CONFIG_$(SPL_)DFU_SF) += dfu_sf.o
|
obj-$(CONFIG_$(SPL_)DFU_SF) += dfu_sf.o
|
||||||
obj-$(CONFIG_$(SPL_)DFU_TFTP) += dfu_tftp.o
|
obj-$(CONFIG_$(SPL_)DFU_WRITE_ALT) += dfu_alt.o
|
||||||
obj-$(CONFIG_$(SPL_)DFU_VIRT) += dfu_virt.o
|
obj-$(CONFIG_$(SPL_)DFU_VIRT) += dfu_virt.o
|
||||||
|
|
|
@ -10,8 +10,21 @@
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <dfu.h>
|
#include <dfu.h>
|
||||||
|
|
||||||
int dfu_tftp_write(char *dfu_entity_name, unsigned int addr, unsigned int len,
|
/**
|
||||||
char *interface, char *devstring)
|
* dfu_write_by_name() - write data to DFU medium
|
||||||
|
* @dfu_entity_name: Name of DFU entity to write
|
||||||
|
* @addr: Address of data buffer to write
|
||||||
|
* @len: Number of bytes
|
||||||
|
* @interface: Destination DFU medium (e.g. "mmc")
|
||||||
|
* @devstring: Instance number of destination DFU medium (e.g. "1")
|
||||||
|
*
|
||||||
|
* This function is storing data received on DFU supported medium which
|
||||||
|
* is specified by @dfu_entity_name.
|
||||||
|
*
|
||||||
|
* Return: 0 - on success, error code - otherwise
|
||||||
|
*/
|
||||||
|
int dfu_write_by_name(char *dfu_entity_name, unsigned int addr,
|
||||||
|
unsigned int len, char *interface, char *devstring)
|
||||||
{
|
{
|
||||||
char *s, *sb;
|
char *s, *sb;
|
||||||
int alt_setting_num, ret;
|
int alt_setting_num, ret;
|
||||||
|
@ -44,7 +57,7 @@ int dfu_tftp_write(char *dfu_entity_name, unsigned int addr, unsigned int len,
|
||||||
free(sb);
|
free(sb);
|
||||||
if (alt_setting_num < 0) {
|
if (alt_setting_num < 0) {
|
||||||
pr_err("Alt setting [%d] to write not found!",
|
pr_err("Alt setting [%d] to write not found!",
|
||||||
alt_setting_num);
|
alt_setting_num);
|
||||||
ret = -ENODEV;
|
ret = -ENODEV;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
|
@ -494,27 +494,27 @@ static inline int dfu_fill_entity_virt(struct dfu_entity *dfu, char *devstr,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* dfu_tftp_write() - write TFTP data to DFU medium
|
* dfu_write_by_name() - write data to DFU medium
|
||||||
|
* @dfu_entity_name: Name of DFU entity to write
|
||||||
|
* @addr: Address of data buffer to write
|
||||||
|
* @len: Number of bytes
|
||||||
|
* @interface: Destination DFU medium (e.g. "mmc")
|
||||||
|
* @devstring: Instance number of destination DFU medium (e.g. "1")
|
||||||
*
|
*
|
||||||
* This function is storing data received via TFTP on DFU supported medium.
|
* This function is storing data received on DFU supported medium which
|
||||||
|
* is specified by @dfu_entity_name.
|
||||||
*
|
*
|
||||||
* @dfu_entity_name: name of DFU entity to write
|
* Return: 0 - on success, error code - otherwise
|
||||||
* @addr: address of data buffer to write
|
|
||||||
* @len: number of bytes
|
|
||||||
* @interface: destination DFU medium (e.g. "mmc")
|
|
||||||
* @devstring: instance number of destination DFU medium (e.g. "1")
|
|
||||||
*
|
|
||||||
* Return: 0 on success, otherwise error code
|
|
||||||
*/
|
*/
|
||||||
#if CONFIG_IS_ENABLED(DFU_TFTP)
|
#if CONFIG_IS_ENABLED(DFU_WRITE_ALT)
|
||||||
int dfu_tftp_write(char *dfu_entity_name, unsigned int addr, unsigned int len,
|
int dfu_write_by_name(char *dfu_entity_name, unsigned int addr,
|
||||||
char *interface, char *devstring);
|
unsigned int len, char *interface, char *devstring);
|
||||||
#else
|
#else
|
||||||
static inline int dfu_tftp_write(char *dfu_entity_name, unsigned int addr,
|
static inline int dfu_write_by_name(char *dfu_entity_name, unsigned int addr,
|
||||||
unsigned int len, char *interface,
|
unsigned int len, char *interface,
|
||||||
char *devstring)
|
char *devstring)
|
||||||
{
|
{
|
||||||
puts("TFTP write support for DFU not available!\n");
|
puts("write support for DFU not available!\n");
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue