u-boot/drivers
Bin Meng 4687919684 serial: 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
..
adc drivers: cosmetic: Convert SPDX license tags to Linux Kernel style 2018-10-28 09:26:39 -04:00
ata Switch to driver model for eSDHC on Layerscape SoCs including LS1021A, 2018-09-29 11:47:32 -04:00
axi drivers: cosmetic: Convert SPDX license tags to Linux Kernel style 2018-10-28 09:26:39 -04:00
bios_emulator bios_emulator: remove assignment without effect 2018-07-23 14:33:21 -04:00
block blk: Introduce IF_TYPE_VIRTIO 2018-11-14 09:16:27 -08:00
board drivers: cosmetic: Convert SPDX license tags to Linux Kernel style 2018-10-28 09:26:39 -04:00
bootcount bootcount: Make bootcount magic configurable 2018-10-19 14:16:43 -04:00
clk clk: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
core uclass: Use uclass_foreach_dev() macro instead of open coding 2018-11-14 09:16:28 -08:00
cpu cpu: mpc83xx: Remove unnecessary characters in the description string 2018-11-14 09:16:27 -08:00
crypto SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ddr socfpga: stratix10: fix sdram_calculate_size 2018-09-15 03:17:01 +02:00
demo SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dfu dfu: nand: Add missing dependency on CMD_MTDPARTS 2018-11-13 18:53:10 +05:30
dma SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
fastboot drivers: cosmetic: Convert SPDX license tags to Linux Kernel style 2018-10-28 09:26:39 -04:00
firmware dm: test: Add "/firmware" node scan test 2018-09-29 11:49:35 -06:00
fpga arm: socfpga: fpga: fix type of local variable 2018-10-31 01:41:10 +01:00
gpio gpio: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
i2c i2c: omap24xx: Surround DM_FLAG_PRE_RELOC flag with OF_CONTROL check 2018-11-14 09:16:28 -08:00
input spl: input: Allow input in SPL and TPL 2018-10-09 04:40:27 -06:00
led dm: led: move default state support in led uclass 2018-08-10 10:27:32 -04:00
mailbox drivers: cosmetic: Convert SPDX license tags to Linux Kernel style 2018-10-28 09:26:39 -04:00
memory SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
misc test: dm: pci: Add cases for finding next PCI capability APIs 2018-11-14 09:16:28 -08:00
mmc mmc: omap: Surround DM_FLAG_PRE_RELOC flag with OF_CONTROL check 2018-11-14 09:16:28 -08:00
mtd mtd: Drop duplicate MTD_PARTITIONS Kconfig option 2018-11-13 18:53:10 +05:30
net driver: net: ti: keystone_net: switch to use common mdio lib 2018-11-05 10:42:01 -06:00
nvme blk: Call part_init() in the post_probe() method 2018-11-14 09:16:27 -08:00
pch SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pci dm: pci: Add APIs to find next capability and extended capability 2018-11-14 09:16:28 -08:00
pcmcia SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
phy drivers: cosmetic: Convert SPDX license tags to Linux Kernel style 2018-10-28 09:26:39 -04:00
pinctrl pinctrl: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
power power: spl: add SPL_DM_REGULATOR_GPIO in Kconfig 2018-11-01 10:02:43 -04:00
pwm pwm: sunxi: choose best prescaler to improve PWM resolution 2018-10-24 21:57:16 +05:30
qe drivers: qe: Move CONFIG_U_QE to Kconfig 2018-09-27 10:01:27 -07:00
ram ram: bmips: Remove DM_FLAG_PRE_RELOC flag 2018-11-14 09:16:28 -08:00
remoteproc spl: Allow remoteproc drivers to be used within SPL 2018-09-11 08:32:55 -04:00
reset drivers: cosmetic: Convert SPDX license tags to Linux Kernel style 2018-10-28 09:26:39 -04:00
rtc Test improvements to tidy up output and drop duplicate tests 2018-10-10 13:35:17 -04:00
scsi blk: Call part_init() in the post_probe() method 2018-11-14 09:16:27 -08:00
serial serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
smem drivers: smem: sandbox 2018-07-19 16:31:38 -04:00
soc SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sound SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
spi arm64: versal: Add support for new Xilinx Versal ACAPs 2018-10-16 16:53:21 +02:00
spmi SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sysreset sysreset: Add a way to find the last reset 2018-10-09 04:40:27 -06:00
tee tee: add sandbox driver 2018-10-07 11:04:01 -04:00
thermal SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
timer timer: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
tpm tpm: Use livetree and allow children 2018-10-09 04:40:27 -06:00
usb fsl/usb: Workaround for USB erratum-A005275 2018-10-29 13:13:05 -07:00
video Merge branch 'master' of git://git.denx.de/u-boot-sunxi 2018-10-29 11:21:00 -04:00
virtio virtio: Add a Sandbox transport driver 2018-11-14 09:16:28 -08:00
w1 w1: fix data abort if no one wire bus master present 2018-11-01 10:02:10 -04:00
w1-eeprom w1-eeprom: ds24xxx: fix data abort in ds24xxx_probe() 2018-11-01 10:02:10 -04:00
watchdog Merged imx8 architecture, fix build for imx8 + warnings 2018-10-25 10:16:21 -04:00
Kconfig dm: Add a new uclass driver for VirtIO transport devices 2018-11-14 09:16:27 -08:00
Makefile dm: Add a new uclass driver for VirtIO transport devices 2018-11-14 09:16:27 -08:00