u-boot/lib
Bin Meng ef329a6a73 sysreset: Remove DM_FLAG_PRE_RELOC flag in various drivers
When a driver declares DM_FLAG_PRE_RELOC flag, it wishes to be
bound before relocation. However due to a bug in the DM core,
the flag only takes effect when devices are statically declared
via U_BOOT_DEVICE(). This bug has been fixed recently by commit
"dm: core: Respect drivers with the DM_FLAG_PRE_RELOC flag in
lists_bind_fdt()", but with the fix, it has a side effect that
all existing drivers that declared DM_FLAG_PRE_RELOC flag will
be bound before relocation now. This may expose potential boot
failure on some boards due to insufficient memory during the
pre-relocation stage.

To mitigate this potential impact, the following changes are
implemented:

- Remove DM_FLAG_PRE_RELOC flag in the driver, if the driver
  only supports configuration from device tree (OF_CONTROL)
- Keep DM_FLAG_PRE_RELOC flag in the driver only if the device
  is statically declared via U_BOOT_DEVICE()
- Surround DM_FLAG_PRE_RELOC flag with OF_CONTROL check, for
  drivers that support both statically declared devices and
  configuration from device tree

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2018-11-14 09:16:28 -08:00
..
at91 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bzip2 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dhry SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
efi sysreset: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
efi_driver blk: Call part_init() in the post_probe() method 2018-11-14 09:16:27 -08:00
efi_loader efi_loader: efi_dp_get_next_instance() superfluous statement 2018-10-16 22:56:18 +02:00
efi_selftest efi_selftest: creating new handle in controller test 2018-10-16 22:56:18 +02:00
libavb libavb: Handle wrong hashtree_error_mode in avb_append_options() 2018-08-24 13:19:53 -04:00
libfdt scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987 2018-05-31 08:53:11 -04:00
lzma SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lzo SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
optee optee: adjust dependencies and default values for dram 2018-10-22 14:37:28 +02:00
rsa rsa: Fix LibreSSL before v2.7.0 2018-08-13 14:03:57 -04:00
tizen SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
zlib SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
addr_map.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
aes.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
asm-offsets.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bch.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bitrev.c lib: bitrev: Sync with Linux kernel v4.17 2018-09-18 00:01:18 -06:00
charset.c efi_loader: error handling in read_console() 2018-10-16 16:39:19 +02:00
circbuf.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
crc7.c lib: add crc7 from Linux 2011-01-18 23:38:08 +01:00
crc8.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
crc16.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
crc32.c lib: crc32: mark function crc32() as __efi_runtime 2018-08-20 14:42:36 +02:00
crc32c.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ctype.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
display_options.c Remove <inttypes.h> includes and PRI* usages in printf() entirely 2018-09-10 20:48:17 -04:00
div64.c lib: div64: sync with Linux 2017-04-13 09:41:10 -04:00
errno_str.c lib: errno: introduce errno_str(): returns errno related message 2014-12-11 13:18:41 -07:00
errno.c Add basic errno support. 2010-09-19 19:29:47 +02:00
fdtdec_common.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
fdtdec_test.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
fdtdec.c Revert "fdt: fdtdec_setup_memory_banksize() use livetree" 2018-10-15 16:22:49 -04:00
gunzip.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gzip.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
hang.c serial: Allow serial to be absent in TPL 2018-10-09 04:40:27 -06:00
hashtable.c hashtable: Fix length calculation in hexport_r 2018-07-24 09:25:23 -04:00
hexdump.c lib: Add hexdump 2018-06-13 07:49:12 -04:00
image-sparse.c mmc: Separate "mmc swrite" from fastboot 2018-05-30 11:59:21 +02:00
initcall.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Kconfig kconfig: Introduce HAVE_ARCH_IOMAP 2018-11-14 09:16:27 -08:00
ldiv.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
linux_compat.c Make kmalloc'ed memory really DMA-safe 2018-08-31 11:59:44 -04:00
linux_string.c Make linux kernel string funcs available to tools 2012-12-13 11:46:07 -07:00
list_sort.c kbuild: force to define __UBOOT__ in all the C sources 2014-09-16 12:23:56 -04:00
lmb.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lz4_wrapper.c SPDX: Convert all of our multiple license tags to Linux Kernel style 2018-05-07 10:24:31 -04:00
lz4.c SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
Makefile tpm: Add support for SPL and TPL 2018-10-09 04:40:27 -06:00
md5.c GCC47: Fix warning in md5.c 2012-04-29 14:14:08 +02:00
membuff.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
net_utils.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
of_live.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
panic.c Consolidate __assert_failed into one implementation 2018-04-28 18:32:23 -04:00
physmem.c lib/physmem.c: Switch to __weak for arch_phys_memset 2016-04-01 17:17:43 -04:00
qsort.c Include common.h in qsort.c to fix build warning 2011-12-07 08:39:54 +01:00
rand.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
rbtree.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
rc4.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sha1.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sha256.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
slre.c lib/slre: remove superfluous assignment 2018-09-05 16:02:34 -04:00
smbios.c smbios: fix checkstyle warning 2018-08-10 13:45:34 -04:00
string.c string: Add strcspn() 2017-06-01 07:03:12 -06:00
strmhz.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
strto.c lib: strto: fix metric suffix parsing in strtoul[l] 2018-09-20 20:11:01 +05:30
tables_csum.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
time.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
tiny-printf.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
tpm-common.c tpm: Tidy up logging in tpm-common.c 2018-10-09 04:40:27 -06:00
tpm-utils.h tpm: add macros to enhance TPM commands readability 2018-05-25 20:12:56 -04:00
tpm-v1.c tpm: Add a few new commands for v1 2018-10-09 04:40:27 -06:00
tpm-v2.c tpm: add PCR authentication commands support 2018-05-25 20:12:59 -04:00
trace.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
uuid.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
vsprintf.c lib: vsprintf: correct printing of Unicode strings 2018-09-23 21:55:29 +02:00