- 01 11月, 2021 1 次提交
-
-
由 Marek Behún 提交于
env_nand_init() says the environment is valid even if it is assigning default environment due to not being able to access nand pre-reloaction (determined by macro values). Change this to ENV_INVALID and let the generic env_init() function, which calls this initializer, assign the default environment. Signed-off-by: NMarek Behún <marek.behun@nic.cz> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
- 03 2月, 2021 1 次提交
-
-
由 Simon Glass 提交于
Move this out of the common header and include it only where needed. In a number of cases this requires adding "struct udevice;" to avoid adding another large header or in other cases replacing / adding missing header files that had been pulled in, very indirectly. Finally, we have a few cases where we did not need to include <asm/global_data.h> at all, so remove that include. Signed-off-by: NSimon Glass <sjg@chromium.org> Signed-off-by: NTom Rini <trini@konsulko.com>
-
- 31 7月, 2020 1 次提交
-
-
由 Marek Vasut 提交于
Add another custom environment flag which discerns environment coming from external storage from environment set by U-Boot itself. Signed-off-by: NMarek Vasut <marex@denx.de> Reviewed-by: NTom Rini <trini@konsulko.com>
-
- 03 12月, 2019 1 次提交
-
-
由 Simon Glass 提交于
Drop inclusion of crc.h in common.h and use the correct header directly instead. With this we can drop the conflicting definition in fw_env.h and rely on the crc.h header, which is already included. Signed-off-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NTom Rini <trini@konsulko.com>
-
- 21 11月, 2019 1 次提交
-
-
由 Tom Rini 提交于
We have CONFIG_ENV_SIZE_IS_REDUND but don't really use it. We have one board where we can simply multiple CONFIG_ENV_SIZE by two for the same result. The other place where we could but were not previously using this is for where env_internal.h checks for if we should set ENV_IS_EMBEDDED. This seems like the most likely use, historically, of the variable, but it was not used. Add logic to check for this now. Cc: Wolfgang Denk <wd@denx.de> Cc: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: NTom Rini <trini@konsulko.com> Reviewed-by: NSimon Glass <sjg@chromium.org> Acked-by: NJoe Hershberger <joe.hershberger@ni.com>
-
- 12 8月, 2019 2 次提交
-
-
由 Simon Glass 提交于
This file contains lots of internal details about the environment. Most code can include env.h instead, calling the functions there as needed. Rename this file and add a comment at the top to indicate its internal nature. Signed-off-by: NSimon Glass <sjg@chromium.org> Acked-by: NJoe Hershberger <joe.hershberger@ni.com> Reviewed-by: NSimon Goldschmidt <simon.k.r.goldschmidt@gmail.com> [trini: Fixup apalis-tk1.c] Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Simon Glass 提交于
Move these functions to the new header file and rename set_default_env() to env_set_default() so that it has a consistent env_ prefix. Acked-by: NJoe Hershberger <joe.hershberger@ni.com> Signed-off-by: NSimon Glass <sjg@chromium.org>
-
- 12 4月, 2019 1 次提交
-
-
由 Martyn Welch 提交于
When booting using an SPL on am335x, if we want to support booting with the boot ROM loader via USB (which uses RNDIS, making bootp and tftp calls) we need to enable gadget eth in the SPL to load the main U-Boot image. To enable CONFIG_SPL_ETH_SUPPORT, we must enable CONFIG_SPL_ENV_SUPPORT as the environment is used by the eth support, but we don't actually need to have environment variables saved in the SPL environment. We do however have environment variables saved in the main U-Boot image and enable CONFIG_ENV_OFFSET_REDUND (we are storing in raw NAND). In such instances, even with the build config enabling both CONFIG_CMD_SAVEENV and CONFIG_CMD_NAND, these options aren't set when building the SPL, but CONFIG_ENV_OFFSET_REDUND still is. Don't check this configuration option for SPL builds to enable the above configuration. Signed-off-by: NMartyn Welch <martyn.welch@collabora.com> Reviewed-by: NTom Rini <trini@konsulko.com>
-
- 05 12月, 2018 1 次提交
-
-
由 Rajesh Bhagat 提交于
Define env_ptr as static in flash and nand env driver to allow these to compile together. Signed-off-by: NRajesh Bhagat <rajesh.bhagat@nxp.com> Reviewed-by: NYork Sun <york.sun@nxp.com>
-
- 20 7月, 2018 1 次提交
-
-
由 Yaniv Levinsky 提交于
The function set_default_env() sets the hashtable flags for import_r(). Formally set_default_env() doesn't accept flags from its callers. In practice the caller can (un)set the H_INTERACTIVE flag, but it has to be done using the first character of the function's string argument. Other flags like H_FORCE can't be set by the caller. Change the function to accept flags argument. The benefits are: 1. The caller will have to explicitly set the H_INTERACTIVE flag, instead of un-setting it using a special char in a string. 2. Add the ability to propagate flags from the caller to himport(), especially the H_FORCE flag from do_env_default() in nvedit.c that currently gets ignored for "env default -a -f" commands. 3. Flags and messages will not be coupled together. A caller will be able to set flags without passing a string and vice versa. Please note: The propagation of H_FORCE from do_env_default() does not introduce any functional changes, because currently himport_r() is set to destroy the old environment regardless if H_FORCE flag is set or not. More changes are needed to utilize the propagation of H_FORCE. Signed-off-by: NYaniv Levinsky <yaniv.levinsky@compulab.co.il> Acked-by: NIgor Grinberg <grinberg@compulab.co.il>
-
- 07 5月, 2018 1 次提交
-
-
由 Tom Rini 提交于
When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: NTom Rini <trini@konsulko.com>
-
- 01 2月, 2018 2 次提交
-
-
由 Simon Goldschmidt 提交于
For multiple env drivers to correctly implement fallback when one environment fails to load (e.g. crc error), the return value of env_import has to be propagated by all env driver's load function. Without this change, the first driver that succeeds to load an environment with an invalid CRC return 0 (success) and no other drivers are checked. Signed-off-by: NSimon Goldschmidt <sgoldschmidt@de.pepperl-fuchs.com> Acked-by: NMaxime Ripard <maxime.ripard@free-electrons.com>
-
由 Simon Goldschmidt 提交于
There is more common code in mmc, nand and ubi env drivers that can be shared by moving to env_import_redund. For this, a status/error value whether the buffers were loaded are passed as additional parameters to env_import_redund. Ideally, these are already returned to the env driver by the storage driver. This is the case for mmc, nand and ubi, so for this change, code deduplicated. Signed-off-by: NSimon Goldschmidt <sgoldschmidt@de.pepperl-fuchs.com> Acked-by: NMaxime Ripard <maxime.ripard@free-electrons.com>
-
- 21 8月, 2017 1 次提交
-
-
由 Simon Glass 提交于
Some of these were missed in the conversion. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
- 16 8月, 2017 3 次提交
-
-
由 Simon Glass 提交于
The load() methods have inconsistent behaviour on error. Some of them load an empty default environment. Some load an environment containing an error message. Others do nothing. As a step in the right direction, have the method return an error code. Then the caller could handle this itself in a consistent way. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
Add a name to the driver and use that instead of the global variable declared by each driver. Signed-off-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NTom Rini <trini@konsulko.com>
-
由 Simon Glass 提交于
Move over to use a the master implementation of the location drivers, with each method calling out to the appropriate driver. Signed-off-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NTom Rini <trini@konsulko.com>
-
- 15 8月, 2017 4 次提交
-
-
由 Simon Glass 提交于
Set up a location driver for each supported environment location. At present this just points to the global functions and is not used. A later patch will switch this over to use private functions in each driver. There are several special cases here in various drivers to handle peculiarities of certain boards: 1. Some boards define CONFIG_ENV_IS_IN_FAT and CONFIG_SPL_ENV_SUPPORT but do not actually load the environment in SPL. The env load code was optimised out before but with the driver, it is not. Therefore a special case is added to env/fat.c. The correct fix (depending on board testing might be to disable CONFIG_SPL_ENV_SUPPORT. 2. A similar situations happens with CONFIG_ENV_IS_IN_FLASH. Some boards do not actually load the environment in SPL, so to reduce code size we need to drop that code. A similar fix may be possible with these boards, or it may be possible to adjust the environment CONFIG settings. Added to the above is that the CONFIG_SPL_ENV_SUPPORT option does not apply when the environment is in flash. Obviously the above has been discovered through painful and time-consuming trial and error. Hopefully board maintainers can take a look and figure out what is actually needed. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
We want to use this name for all environment drivers. Update the nand driver to use a more specific name. Signed-off-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NTom Rini <trini@konsulko.com>
-
由 Simon Glass 提交于
At present we have three states for the environment, numbered 0, 1 and 2. Add an enum to record this to avoid open-coded values. Signed-off-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NTom Rini <trini@konsulko.com>
-
由 Simon Glass 提交于
About a quarter of the files in common/ relate to the environment. It seems better to put these into their own subdirectory and remove the prefix. Signed-off-by: NSimon Glass <sjg@chromium.org> Reviewed-by: NTom Rini <trini@konsulko.com>
-
- 23 7月, 2017 1 次提交
-
-
由 Fiach Antaw 提交于
The env_nand, env_mmc and env_ubi implementations all implement redundancy using an identical serial-number scheme. This commit migrates them to use the implementation in env_common, which is functionally identical. Signed-off-by: NFiach Antaw <fiach.antaw@uqconnect.edu.au> Reviewed-by: NTom Rini <trini@konsulko.com>
-
- 12 7月, 2017 1 次提交
-
-
由 Grygorii Strashko 提交于
As part of preparation for nand DM conversion the new API has been introduced to remove direct access to nand_info array. So, use it here instead of accessing to nand_info array directly. Signed-off-by: NGrygorii Strashko <grygorii.strashko@ti.com>
-
- 16 8月, 2016 1 次提交
-
-
由 Tom Rini 提交于
Now that nand_info[] is an array of pointers we need to ensure that it's been populated prior to use. We may for example have ENV in NAND set in configurations that run on boards with and without NAND (where default env is fine enough, such as omap3_beagle and beagleboard (NAND) vs beagle xM (no NAND)). Fixes: b616d9b0 ("nand: Embed mtd_info in struct nand_chip") Cc: Scott Wood <oss@buserror.net> Signed-off-by: NTom Rini <trini@konsulko.com> Acked-by: NScott Wood <oss@buserror.net>
-
- 04 6月, 2016 2 次提交
-
-
由 Scott Wood 提交于
nand_info[] is now an array of pointers, with the actual mtd_info instance embedded in struct nand_chip. This is in preparation for syncing the NAND code with Linux 4.6, which makes the same change to struct nand_chip. It's in a separate commit due to the large amount of changes required to accommodate the change to nand_info[]. Signed-off-by: NScott Wood <oss@buserror.net>
-
由 Scott Wood 提交于
This typedef serves no purpose other than causing confusion with struct nand_chip. Signed-off-by: NScott Wood <oss@buserror.net>
-
- 12 9月, 2015 1 次提交
-
-
由 Simon Glass 提交于
Now that we have a new header file for cache-aligned allocation, we should move the stack-based allocation macro there also. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
- 19 5月, 2015 1 次提交
-
-
由 Tim Harvey 提交于
The readenv() implementation of env_nand uses the mtd layer which is unnecessary overhead in SPL when we already have a nand_spl_load_image() function that doesn't need it. Using this instead eliminates the need to provide a mtd_read for SPL env as well as reduces code (4KB savings in IMX6 SPL). Signed-off-by: NTim Harvey <tharvey@gateworks.com> Acked-by: NScott Wood <scottwood@freescale.com>
-
- 23 11月, 2014 1 次提交
-
-
由 Masahiro Yamada 提交于
U-Boot has never cared about the type when we get max/min of two values, but Linux Kernel does. This commit gets min, max, min3, max3 macros synced with the kernel introducing type checks. Many of references of those macros must be fixed to suppress warnings. We have two options: - Use min, max, min3, max3 only when the arguments have the same type (or add casts to the arguments) - Use min_t/max_t instead with the appropriate type for the first argument Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: NPavel Machek <pavel@denx.de> Acked-by: NLukasz Majewski <l.majewski@samsung.com> Tested-by: NLukasz Majewski <l.majewski@samsung.com> [trini: Fixup arch/blackfin/lib/string.c] Signed-off-by: NTom Rini <trini@ti.com>
-
- 25 10月, 2014 1 次提交
-
-
由 Jeroen Hofstee 提交于
Signed-off-by: NJeroen Hofstee <jeroen@myspectrum.nl>
-
- 22 3月, 2014 1 次提交
-
-
由 Marek Vasut 提交于
Implement env_export() wrapper, so that all implementers of saveenv() don't have to call hexport_r(), crc32() etc. sequence . This trims down a bit of code duplication. Signed-off-by: NMarek Vasut <marex@denx.de>
-
- 15 10月, 2013 1 次提交
-
-
由 Wolfgang Denk 提交于
Signed-off-by: NWolfgang Denk <wd@denx.de>
-
- 23 8月, 2013 1 次提交
-
-
由 Phil Sutter 提交于
Without this patch, when the currently chosen environment to be written has bad blocks, saveenv fails completely. Instead, when there is redundant environment fall back to the other copy. Environment reading needs no adjustment, as the fallback logic for incomplete writes applies to this case as well. Signed-off-by: NPhil Sutter <phil.sutter@viprinet.com>
-
- 24 7月, 2013 1 次提交
-
-
由 Wolfgang Denk 提交于
Signed-off-by: NWolfgang Denk <wd@denx.de> [trini: Fixup common/cmd_io.c] Signed-off-by: NTom Rini <trini@ti.com>
-
- 10 4月, 2013 1 次提交
-
-
由 Tom Rini 提交于
We make these two functions take a size_t pointer to how much space was used on NAND to read or write the buffer (when reads/writes happen) so that bad blocks can be accounted for. We also make them take an loff_t limit on how much data can be read or written. This means that we can now catch the case of when writing to a partition would exceed the partition size due to bad blocks. To do this we also need to make check_skip_len count not just complete blocks used but partial ones as well. All callers of nand_(read|write)_skip_bad are adjusted to call these with the most sensible limits available. The changes were started by Pantelis and finished by Tom. Signed-off-by: NPantelis Antoniou <panto@antoniou-consulting.com> Signed-off-by: NTom Rini <trini@ti.com>
-
- 06 4月, 2013 1 次提交
-
-
由 Tom Rini 提交于
Wolfgang requested this be reverted and Rob agreed after further discussion. This was a symptom of a larger problem we need to deal with. This reverts commit 60d7d5a6. Signed-off-by: NTom Rini <trini@ti.com>
-
- 03 4月, 2013 1 次提交
-
-
由 Rob Herring 提交于
Most of the various environment functions create CONFIG_ENV_SIZE buffers on the stack. At least on ARM and PPC which have 4KB stacks, this can overflow the stack if we have large environment sizes. So move all the buffers off the stack to static buffers. Signed-off-by: NRob Herring <rob.herring@calxeda.com>
-
- 23 2月, 2013 2 次提交
-
-
由 Phil Sutter 提交于
Calculating the checksum of incompletely read data is useless. Signed-off-by: NPhil Sutter <phil.sutter@viprinet.com> [scottwood@freescale.com: minor formatting fix] Signed-off-by: NScott Wood <scottwood@freescale.com>
-
由 Phil Sutter 提交于
The single message is misleading, since there is no equivalent success note when reading the other copy succeeds. Instead, warn if one of the redundant copies could not be loaded and emphasise on the error when reading both fails. Signed-off-by: NPhil Sutter <phil.sutter@viprinet.com>
-
- 14 12月, 2012 1 次提交
-
-
由 Joe Hershberger 提交于
When printing all variables with env print, don't print variables that begin with '.'. If env print is called with a '-a' switch, then include variables that begin with '.' (just like the ls command). Variables printed explicitly will be printed even without the -a. Signed-off-by: NJoe Hershberger <joe.hershberger@ni.com>
-