From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 04/11] drivers:dfu: new feature: separated bootloader alt setting
Date: Tue, 17 Jun 2014 10:36:00 -0600 [thread overview]
Message-ID: <53A06E70.50103@wwwdotorg.org> (raw)
In-Reply-To: <53A01654.1050407@samsung.com>
On 06/17/2014 04:20 AM, Przemyslaw Marczak wrote:
> Hello Stephen,
>
> On 06/16/2014 09:52 PM, Stephen Warren wrote:
>> On 06/12/2014 03:46 AM, Przemyslaw Marczak wrote:
>>> This patch introduces new feature: initialization of the dfu
>>> bootloader entity from a separate environmental variable which
>>> can be set on a boot time.
>>>
>>> By default, DFU always check environmental variable: $dfu_alt_info.
>>>
>>> Changes:
>>> - DFU will also look for environmental variable: $dfu_alt_bootloader
>>> - if any of dfu_alt_* variable is properly defined, then function
>>> dfu_init_env_entities() will return success.
>>>
>>> Use case:
>>> Some devices can boot from various media type (SD, eMMC, NAND, etc.)
>>> or some board configs are common for more than one board type.
>>> In a such case, bootloader is probably placed on a different
>>> devices or even offsets. So such DFU feature is welcome.
>>
>> Why should the "dfu" command look at different environment variables?
>> Whatever code dynamically sets the value of $dfu_alt_bootloader should
>> simply set $dfu_alt_info instead.
>
> Dynamically setting of any entity cold be done at boot time, like this:
>
> # int buf_len = strlen(alt_bootloader) + strlen(CONFIG_DFU_ALT) + 4;
> # char *buf = memalign(1, buf_len);
> #
> # sprintf(buf, "%s; %s", alt_bootloader, CONFIG_DFU_ALT);
Note that you can't have a space after the ; due to the use of strsep().
Switching to strtok() might solve that.
> # setenv("dfu_alt_info", buf);
>
> But overwriting the $dfu_alt_info on each boot is not a good idea.
> If user modify the dfu entities - then it will be overwritten at next boot.
What if the user sees that $dfu_alt_bootloader is set, and modifies that
without realizing that it's an auto-generated variable? The same thing
then applies.
Perhaps we need a standard where system-/automatically-set variables are
named with a auto_ prefix or _auto suffix or something, to make this clear?
I'd prefer that the dfu command didn't use any environment variables,
but rather required the user to always pass the list on the
command-line. Then, the user could invoke either:
dfu "foo mmc x..." # Manually specified
dfu $dfu_alt_info # Use 'user-defined' variable
dfu $dfu_alt_bootloaer # Use 'system-defined' variable
That way, the code doesn't have to loop over a bunch of variables and
get more complex. Implicitly depending on environment variables make it
hard to tell what a sequence of commands will do.
...
> Maybe better could be modification of the function
> dfu_init_env_entities() to support parsing variables
> in the $dfu_alt_info instead of hard coded env variables
> names, e.g:
>
> dfu_alt_info="${alt_info_boot}, ${alt_info_system},..."
I feel like the shell already has the capability to interpolate variable
values into strings, so this would be quite easy to do in the shell
rather than duplicating that code inside the dfu command.
next prev parent reply other threads:[~2014-06-17 16:36 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-10 11:25 [U-Boot] [PATCH 01/10] samsung: misc: fix soc revision setting in the set_board_info() Przemyslaw Marczak
2014-06-10 11:25 ` [U-Boot] [PATCH 02/10] exynos: pinmux: fix the gpio names for exynos4x12 mmc Przemyslaw Marczak
2014-06-11 10:03 ` Jaehoon Chung
2014-06-10 11:32 ` [U-Boot] [PATCH 03/10] board:samsung: check the mmc boot device and init the right mmc driver Przemyslaw Marczak
2014-06-10 11:32 ` [U-Boot] [PATCH 04/10] samsung: misc: set the dfu bootloader setting at boot time Przemyslaw Marczak
2014-06-11 2:03 ` Inha Song
2014-06-11 13:07 ` Przemyslaw Marczak
2014-06-10 11:32 ` [U-Boot] [PATCH 05/10] arm:reset: call the reset_misc() before the cpu reset Przemyslaw Marczak
2014-06-10 11:33 ` [U-Boot] [PATCH 06/10] samsung: misc: set_board_info: check the board type to set fdt file name Przemyslaw Marczak
2014-06-10 11:33 ` [U-Boot] [PATCH 07/10] samsung: board: checkboard: call get_board_type() for CONFIG_BOARD_TYPES Przemyslaw Marczak
2014-06-10 11:33 ` [U-Boot] [PATCH 08/10] odroid: add board file for Odroid X2/U3 based on Samsung Exynos4412 Przemyslaw Marczak
2014-06-11 1:33 ` Inha Song
2014-06-11 12:48 ` Przemyslaw Marczak
2014-06-10 11:33 ` [U-Boot] [PATCH 09/10] odroid: add odroid U3/X2 device tree description Przemyslaw Marczak
2014-06-10 11:33 ` [U-Boot] [PATCH 10/10] odroid: add odroid_config Przemyslaw Marczak
2014-06-12 9:46 ` [U-Boot] [PATCH v2 01/11] samsung: misc: fix soc revision setting in the set_board_info() Przemyslaw Marczak
2014-06-12 9:46 ` [U-Boot] [PATCH v2 02/11] exynos: pinmux: fix the gpio names for exynos4x12 mmc Przemyslaw Marczak
2014-06-12 9:46 ` [U-Boot] [PATCH v2 03/11] board:samsung: check the mmc boot device and init the right mmc driver Przemyslaw Marczak
2014-06-18 6:30 ` Minkyu Kang
2014-06-18 10:47 ` Przemyslaw Marczak
2014-06-19 1:10 ` Minkyu Kang
2014-06-12 9:46 ` [U-Boot] [PATCH v2 04/11] drivers:dfu: new feature: separated bootloader alt setting Przemyslaw Marczak
2014-06-16 19:52 ` Stephen Warren
2014-06-17 10:20 ` Przemyslaw Marczak
2014-06-17 16:36 ` Stephen Warren [this message]
2014-06-18 10:56 ` Przemyslaw Marczak
2014-06-18 15:46 ` Stephen Warren
2014-06-23 10:09 ` Przemyslaw Marczak
2014-06-12 9:46 ` [U-Boot] [PATCH v2 05/11] samsung: misc: set the dfu bootloader setting at boot time Przemyslaw Marczak
2014-06-12 9:46 ` [U-Boot] [PATCH v2 06/11] arm:reset: call the reset_misc() before the cpu reset Przemyslaw Marczak
2014-06-12 9:46 ` [U-Boot] [PATCH v2 07/11] samsung: misc: set_board_info: check the board type to set fdt file name Przemyslaw Marczak
2014-06-12 9:46 ` [U-Boot] [PATCH v2 08/11] samsung: board: checkboard: call get_board_type() for CONFIG_BOARD_TYPES Przemyslaw Marczak
2014-06-12 9:46 ` [U-Boot] [PATCH v2 09/11] odroid: add board file for Odroid X2/U3 based on Samsung Exynos4412 Przemyslaw Marczak
2014-06-12 9:46 ` [U-Boot] [PATCH v2 10/11] odroid: add odroid U3/X2 device tree description Przemyslaw Marczak
2014-06-12 9:46 ` [U-Boot] [PATCH v2 11/11] odroid: add odroid_config Przemyslaw Marczak
2014-06-26 14:15 ` [U-Boot] [PATCH v3 00/11] Add support to Odroid U3/X2 Przemyslaw Marczak
2014-06-26 14:15 ` [U-Boot] [PATCH v3 01/11] exynos: pinmux: fix the gpio names for exynos4x12 mmc Przemyslaw Marczak
2014-06-26 14:15 ` [U-Boot] [PATCH v3 02/11] board:samsung: add function boot_device() for checking boot medium Przemyslaw Marczak
2014-06-27 9:40 ` Minkyu Kang
2014-06-27 11:33 ` Przemyslaw Marczak
2014-06-26 14:15 ` [U-Boot] [PATCH v3 03/11] board:samsung: check the boot device and init the right mmc driver Przemyslaw Marczak
2014-06-27 9:40 ` Minkyu Kang
2014-06-27 9:45 ` Jaehoon Chung
2014-06-27 11:38 ` Przemyslaw Marczak
2014-06-27 11:34 ` Przemyslaw Marczak
2014-06-26 14:15 ` [U-Boot] [PATCH v3 04/11] samsung: misc: add function for setting $dfu_alt_info Przemyslaw Marczak
2014-06-26 14:15 ` [U-Boot] [PATCH v3 05/11] samsung:board: misc_init_r: call set_dfu_alt_info() Przemyslaw Marczak
2014-06-26 14:15 ` [U-Boot] [PATCH v3 06/11] arm:reset: call the reset_misc() before the cpu reset Przemyslaw Marczak
2014-06-27 9:40 ` Minkyu Kang
2014-06-27 11:34 ` Przemyslaw Marczak
2014-06-27 20:20 ` Jeroen Hofstee
2014-06-30 8:41 ` Przemyslaw Marczak
2014-06-30 18:30 ` Jeroen Hofstee
2014-07-01 14:16 ` Przemyslaw Marczak
2014-07-01 14:36 ` Przemyslaw Marczak
2014-07-02 7:03 ` Minkyu Kang
2014-07-02 10:27 ` Przemyslaw Marczak
2014-06-26 14:15 ` [U-Boot] [PATCH v3 07/11] samsung: board: enable support of multiple board types Przemyslaw Marczak
2014-06-27 9:40 ` Minkyu Kang
2014-06-27 11:34 ` Przemyslaw Marczak
2014-06-26 14:15 ` [U-Boot] [PATCH v3 08/11] samsung: misc: use board specific functions to set env board info Przemyslaw Marczak
2014-06-26 14:15 ` [U-Boot] [PATCH v3 09/11] odroid: add board file for Odroid X2/U3 based on Samsung Exynos4412 Przemyslaw Marczak
2014-06-26 14:15 ` [U-Boot] [PATCH v3 10/11] odroid: add odroid U3/X2 device tree description Przemyslaw Marczak
2014-06-26 14:15 ` [U-Boot] [PATCH v3 11/11] odroid: add odroid_config Przemyslaw Marczak
2014-07-02 11:50 ` [U-Boot] [PATCH v4 00/12] Add support to Odroid U3/X2 Przemyslaw Marczak
2014-07-02 11:50 ` [U-Boot] [PATCH v4 01/12] samsung: misc: fix soc revision setting in the set_board_info() Przemyslaw Marczak
2014-07-02 11:50 ` [U-Boot] [PATCH v4 02/12] exynos: pinmux: fix the gpio names for exynos4x12 mmc Przemyslaw Marczak
2014-07-04 5:37 ` Jaehoon Chung
2014-07-02 11:50 ` [U-Boot] [PATCH v4 03/12] arch:exynos: boot mode: add get_boot_mode(), code cleanup Przemyslaw Marczak
2014-07-02 11:50 ` [U-Boot] [PATCH v4 04/12] board:samsung: check the boot device and init the right mmc driver Przemyslaw Marczak
2014-07-04 5:45 ` Jaehoon Chung
2014-07-04 8:07 ` Przemyslaw Marczak
2014-07-04 11:08 ` Jaehoon Chung
2014-07-02 11:50 ` [U-Boot] [PATCH v4 05/12] samsung: misc: add function for setting $dfu_alt_info Przemyslaw Marczak
2014-07-02 11:50 ` [U-Boot] [PATCH v4 06/12] samsung:board: misc_init_r: call set_dfu_alt_info() Przemyslaw Marczak
2014-07-02 11:50 ` [U-Boot] [PATCH v4 07/12] arm:reset: call the reset_misc() before the cpu reset Przemyslaw Marczak
2014-07-02 11:50 ` [U-Boot] [PATCH v4 08/12] samsung: board: enable support of multiple board types Przemyslaw Marczak
2014-07-04 5:49 ` Jaehoon Chung
2014-07-04 8:08 ` Przemyslaw Marczak
2014-07-02 11:50 ` [U-Boot] [PATCH v4 09/12] samsung: misc: use board specific functions to set env board info Przemyslaw Marczak
2014-07-02 11:50 ` [U-Boot] [PATCH v4 10/12] odroid: add board file for Odroid X2/U3 based on Samsung Exynos4412 Przemyslaw Marczak
2014-07-04 6:07 ` Jaehoon Chung
2014-07-04 8:08 ` Przemyslaw Marczak
2014-07-04 11:12 ` Jaehoon Chung
2014-07-02 11:50 ` [U-Boot] [PATCH v4 11/12] odroid: add odroid U3/X2 device tree description Przemyslaw Marczak
2014-07-02 11:50 ` [U-Boot] [PATCH v4 12/12] odroid: add odroid_config Przemyslaw Marczak
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=53A06E70.50103@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--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