From: Lukasz Majewski <lukma@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC PATCH 09/14] dfu: add callback for flush and initiated operation
Date: Mon, 22 Jul 2019 10:22:32 +0200 [thread overview]
Message-ID: <20190722102232.041a8727@jawa> (raw)
In-Reply-To: <1563541046-6432-10-git-send-email-patrick.delaunay@st.com>
Hi Patrick,
> Add weak callback to allow board specific behavior
> - flush
> - initiated
>
> This patch prepare usage of DFU back end for communication with
> STM32CubeProgrammer on stm32mp1 platform with stm32prog command.
Would the stm32prog need to modify the environment variables ?
For example to update the "VERSION" or any other one?
>
> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
> ---
>
> drivers/dfu/dfu.c | 19 +++++++++++++++++++
> include/dfu.h | 2 ++
> 2 files changed, 21 insertions(+)
>
> diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c
> index a960b6e..e642b09 100644
> --- a/drivers/dfu/dfu.c
> +++ b/drivers/dfu/dfu.c
> @@ -22,6 +22,22 @@ static int alt_num_cnt;
> static struct hash_algo *dfu_hash_algo;
>
> /*
> + * The purpose of the dfu_flush_callback() function is to
> + * provide callback for dfu user
> + */
> +__weak void dfu_flush_callback(struct dfu_entity *dfu)
> +{
> +}
> +
> +/*
> + * The purpose of the dfu_flush_callback() function is to
> + * provide callback for dfu user
> + */
> +__weak void dfu_initiated_callback(struct dfu_entity *dfu)
> +{
> +}
> +
> +/*
> * The purpose of the dfu_usb_get_reset() function is to
> * provide information if after USB_DETACH request
> * being sent the dfu-util performed reset of USB
> @@ -262,6 +278,7 @@ int dfu_transaction_initiate(struct dfu_entity
> *dfu, bool read) }
>
> dfu->inited = 1;
> + dfu_initiated_callback(dfu);
>
> return 0;
> }
> @@ -281,6 +298,8 @@ int dfu_flush(struct dfu_entity *dfu, void *buf,
> int size, int blk_seq_num) printf("\nDFU complete %s: 0x%08x\n",
> dfu_hash_algo->name, dfu->crc);
>
> + dfu_flush_callback(dfu);
> +
> dfu_transaction_cleanup(dfu);
>
> return ret;
> diff --git a/include/dfu.h b/include/dfu.h
> index 4de7d35..5d85cc3 100644
> --- a/include/dfu.h
> +++ b/include/dfu.h
> @@ -182,6 +182,8 @@ bool dfu_usb_get_reset(void);
> int dfu_read(struct dfu_entity *de, void *buf, int size, int
> blk_seq_num); int dfu_write(struct dfu_entity *de, void *buf, int
> size, int blk_seq_num); int dfu_flush(struct dfu_entity *de, void
> *buf, int size, int blk_seq_num); +void dfu_flush_callback(struct
> dfu_entity *dfu); +void dfu_initiated_callback(struct dfu_entity
> *dfu);
> /*
> * dfu_defer_flush - pointer to store dfu_entity for deferred
> flashing.
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190722/d1280fe3/attachment.sig>
next prev parent reply other threads:[~2019-07-22 8:22 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-19 12:57 [U-Boot] [RFC PATCH 00/14] dfu: update dfu stack and use them for stm32mp1 Patrick Delaunay
2019-07-19 12:57 ` [U-Boot] [RFC PATCH 01/14] dfu: cosmetic: cleanup sf to avoid checkpatch error Patrick Delaunay
2019-07-22 7:51 ` Lukasz Majewski
2019-07-19 12:57 ` [U-Boot] [RFC PATCH 02/14] dfu: sf: add partition support for nor backend Patrick Delaunay
2019-07-22 7:54 ` Lukasz Majewski
2019-07-19 12:57 ` [U-Boot] [RFC PATCH 03/14] dfu: prepare the support of multiple interface Patrick Delaunay
2019-07-22 7:57 ` Lukasz Majewski
2019-07-19 12:57 ` [U-Boot] [RFC PATCH 04/14] dfu: allow to manage DFU on several devices Patrick Delaunay
2019-07-22 8:04 ` Lukasz Majewski
2019-07-19 12:57 ` [U-Boot] [RFC PATCH 05/14] dfu: allow read with 0 data for EOF indication Patrick Delaunay
2019-07-22 8:05 ` Lukasz Majewski
2019-07-19 12:57 ` [U-Boot] [RFC PATCH 06/14] dfu: add backend for MTD device Patrick Delaunay
2019-07-22 8:11 ` Lukasz Majewski
2019-07-19 12:57 ` [U-Boot] [RFC PATCH 07/14] dfu: add partition support for MTD backend Patrick Delaunay
2019-07-22 8:16 ` Lukasz Majewski
2019-07-19 12:57 ` [U-Boot] [RFC PATCH 08/14] dfu: add DFU virtual backend Patrick Delaunay
2019-07-22 8:20 ` Lukasz Majewski
2019-07-19 12:57 ` [U-Boot] [RFC PATCH 09/14] dfu: add callback for flush and initiated operation Patrick Delaunay
2019-07-22 8:22 ` Lukasz Majewski [this message]
2019-07-19 12:57 ` [U-Boot] [RFC PATCH 10/14] stm32mp1: activate DFU support and command MTD Patrick Delaunay
2019-07-19 12:57 ` [U-Boot] [RFC PATCH 11/14] stm32mp1: activate SET_DFU_ALT_INFO Patrick Delaunay
2019-07-19 12:57 ` [U-Boot] [RFC PATCH 12/14] stp32mp1: configs: activate CONFIG_MTD_SPI_NAND Patrick Delaunay
2019-07-19 12:57 ` [U-Boot] [RFC PATCH 13/14] stm32mp1: board: add spi nand support Patrick Delaunay
2019-07-19 12:57 ` [U-Boot] [RFC PATCH 14/14] stm32mp1: add support for virtual partition read Patrick Delaunay
2019-07-22 8:27 ` [U-Boot] [RFC PATCH 00/14] dfu: update dfu stack and use them for stm32mp1 Lukasz Majewski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190722102232.041a8727@jawa \
--to=lukma@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox