From mboxrd@z Thu Jan 1 00:00:00 1970 From: AKASHI Takahiro Date: Thu, 10 Sep 2020 10:54:18 +0900 Subject: [PATCH v6 01/17] dfu: rename dfu_tftp_write() to dfu_write_by_name() In-Reply-To: <9e6eda0c-c195-ef46-7a2d-ab20a7f6c57b@gmx.de> References: <20200907053426.1675646-1-takahiro.akashi@linaro.org> <20200907053426.1675646-2-takahiro.akashi@linaro.org> <9e6eda0c-c195-ef46-7a2d-ab20a7f6c57b@gmx.de> Message-ID: <20200910015418.GA2080155@laputa> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Wed, Sep 09, 2020 at 02:30:53PM +0200, Heinrich Schuchardt wrote: > On 07.09.20 07:34, AKASHI Takahiro wrote: > > 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_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 > > --- > > common/update.c | 5 +++-- > > drivers/dfu/Kconfig | 5 +++++ > > drivers/dfu/Makefile | 2 +- > > drivers/dfu/{dfu_tftp.c => dfu_alt.c} | 17 ++++++++++++-- > > include/dfu.h | 32 +++++++++++++-------------- > > 5 files changed, 40 insertions(+), 21 deletions(-) > > rename drivers/dfu/{dfu_tftp.c => dfu_alt.c} (67%) > > > > diff --git a/common/update.c b/common/update.c > > index 36b6b7523d50..39946776d74f 100644 > > --- a/common/update.c > > +++ b/common/update.c > > @@ -324,8 +324,9 @@ got_update_file: > > } > > } else if (fit_image_check_type(fit, noffset, > > IH_TYPE_FIRMWARE)) { > > - ret = dfu_tftp_write(fit_image_name, update_addr, > > - update_size, interface, devstring); > > + ret = dfu_write_by_name(fit_image_name, update_addr, > > + update_size, interface, > > + devstring); > > if (ret) > > return ret; > > } > > diff --git a/drivers/dfu/Kconfig b/drivers/dfu/Kconfig > > index 0eec00ba734d..78f901ff348a 100644 > > --- a/drivers/dfu/Kconfig > > +++ b/drivers/dfu/Kconfig > > @@ -14,8 +14,13 @@ config DFU_OVER_TFTP > > depends on NET > > > > if DFU > > +config DFU_ALT > > + bool > > You cannot define CONFIG_DFU_ALT as bool. This symbol already exists as > string in include/configs/odroid.h, include/configs/s5p_goni.h, et.al. > It is used to initialize environment variable dfu_alt_info. Your patch > leads to an error on Travis: > > arm: + odroid Okay, will fix it. DFU_WRITE_ALT? Or, as Heinrich suggested, move them to dfu.c if Lukasz agrees. # I haven't seen any comments from him yet though. -Takahiro Akashi > +In file included from : > > +include/linux/kconfig.h:21:49: error: pasting "__ARG_PLACEHOLDER_" and > ""uImage fat 0 1;"" does not give a valid preprocessing token > > + 21 | #define _config_enabled(value) > __config_enabled(__ARG_PLACEHOLDER_##value) > > Best regards > > Heinrich > > > + default n > > + > > config DFU_TFTP > > bool "DFU via TFTP" > > + select DFU_ALT > > select DFU_OVER_TFTP > > help > > This option allows performing update of DFU-managed medium with data > > diff --git a/drivers/dfu/Makefile b/drivers/dfu/Makefile > > index 0d7925c083ef..cc7de1d3ed9b 100644 > > --- a/drivers/dfu/Makefile > > +++ b/drivers/dfu/Makefile > > @@ -9,5 +9,5 @@ obj-$(CONFIG_$(SPL_)DFU_MTD) += dfu_mtd.o > > obj-$(CONFIG_$(SPL_)DFU_NAND) += dfu_nand.o > > obj-$(CONFIG_$(SPL_)DFU_RAM) += dfu_ram.o > > obj-$(CONFIG_$(SPL_)DFU_SF) += dfu_sf.o > > -obj-$(CONFIG_$(SPL_)DFU_TFTP) += dfu_tftp.o > > +obj-$(CONFIG_$(SPL_)DFU_ALT) += dfu_alt.o > > obj-$(CONFIG_$(SPL_)DFU_VIRT) += dfu_virt.o > > diff --git a/drivers/dfu/dfu_tftp.c b/drivers/dfu/dfu_alt.c > > similarity index 67% > > rename from drivers/dfu/dfu_tftp.c > > rename to drivers/dfu/dfu_alt.c > > index ffae4bb54f80..5b1b13d7170d 100644 > > --- a/drivers/dfu/dfu_tftp.c > > +++ b/drivers/dfu/dfu_alt.c > > @@ -10,8 +10,21 @@ > > #include > > #include > > > > -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; > > int alt_setting_num, ret; > > diff --git a/include/dfu.h b/include/dfu.h > > index 84abdc79acd1..cecfbd76597b 100644 > > --- a/include/dfu.h > > +++ b/include/dfu.h > > @@ -494,27 +494,27 @@ static inline int dfu_fill_entity_virt(struct dfu_entity *dfu, char *devstr, > > #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 > > - * @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 > > + * Return: 0 - on success, error code - otherwise > > */ > > -#if CONFIG_IS_ENABLED(DFU_TFTP) > > -int dfu_tftp_write(char *dfu_entity_name, unsigned int addr, unsigned int len, > > - char *interface, char *devstring); > > +#if CONFIG_IS_ENABLED(DFU_ALT) > > +int dfu_write_by_name(char *dfu_entity_name, unsigned int addr, > > + unsigned int len, char *interface, char *devstring); > > #else > > -static inline int dfu_tftp_write(char *dfu_entity_name, unsigned int addr, > > - unsigned int len, char *interface, > > - char *devstring) > > +static inline int dfu_write_by_name(char *dfu_entity_name, unsigned int addr, > > + unsigned int len, char *interface, > > + char *devstring) > > { > > - puts("TFTP write support for DFU not available!\n"); > > + puts("write support for DFU not available!\n"); > > return -ENOSYS; > > } > > #endif > > >