public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 00/13] dm: DM_FLAG_PRE_RELOC flag clean up
@ 2018-10-24 13:36 Bin Meng
  2018-10-24 13:36 ` [U-Boot] [PATCH 01/13] arm: stm32mp: Remove DM_FLAG_PRE_RELOC flag Bin Meng
                   ` (14 more replies)
  0 siblings, 15 replies; 50+ messages in thread
From: Bin Meng @ 2018-10-24 13:36 UTC (permalink / raw)
  To: u-boot

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

This series should be applied on top of u-boot-dm/master, for
v2018.11 release.


Bin Meng (13):
  arm: stm32mp: Remove DM_FLAG_PRE_RELOC flag
  clk: Remove DM_FLAG_PRE_RELOC flag in various drivers
  gpio: Remove DM_FLAG_PRE_RELOC flag in various drivers
  i2c: omap24xx: Surround DM_FLAG_PRE_RELOC flag with OF_CONTROL check
  mmc: omap: Surround DM_FLAG_PRE_RELOC flag with OF_CONTROL check
  pinctrl: Remove DM_FLAG_PRE_RELOC flag in various drivers
  ram: bmips: Remove DM_FLAG_PRE_RELOC flag
  timer: Remove DM_FLAG_PRE_RELOC flag in various drivers
  serial: Remove DM_FLAG_PRE_RELOC flag in various drivers
  sysreset: Remove DM_FLAG_PRE_RELOC flag in various drivers
  video: simplefb: Remove DM_FLAG_PRE_RELOC flag
  watchdog: Remove DM_FLAG_PRE_RELOC flag in various drivers
  dm: doc: Update description of pre-relocation support

 arch/arm/mach-stm32mp/bsec.c                     |  1 -
 arch/x86/cpu/tangier/sysreset.c                  |  1 -
 doc/driver-model/README.txt                      | 16 ++++++++++++----
 drivers/clk/altera/clk-arria10.c                 |  1 -
 drivers/clk/clk_pic32.c                          |  1 -
 drivers/clk/clk_zynq.c                           |  1 -
 drivers/clk/exynos/clk-exynos7420.c              |  3 ---
 drivers/clk/owl/clk_s900.c                       |  1 -
 drivers/gpio/omap_gpio.c                         |  2 ++
 drivers/gpio/stm32f7_gpio.c                      |  2 +-
 drivers/gpio/tegra186_gpio.c                     |  1 -
 drivers/gpio/tegra_gpio.c                        |  1 -
 drivers/i2c/omap24xx_i2c.c                       |  2 ++
 drivers/mmc/omap_hsmmc.c                         |  2 ++
 drivers/pinctrl/broadcom/pinctrl-bcm283x.c       |  2 ++
 drivers/pinctrl/exynos/pinctrl-exynos7420.c      |  1 -
 drivers/pinctrl/nxp/pinctrl-imx5.c               |  2 ++
 drivers/pinctrl/nxp/pinctrl-imx6.c               |  2 ++
 drivers/pinctrl/nxp/pinctrl-imx7.c               |  2 ++
 drivers/pinctrl/nxp/pinctrl-imx7ulp.c            |  2 ++
 drivers/pinctrl/pinctrl-single.c                 |  1 -
 drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c |  2 ++
 drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c |  2 ++
 drivers/ram/bmips_ram.c                          |  1 -
 drivers/serial/altera_jtag_uart.c                |  1 -
 drivers/serial/altera_uart.c                     |  1 -
 drivers/serial/arm_dcc.c                         |  1 -
 drivers/serial/atmel_usart.c                     |  2 ++
 drivers/serial/ns16550.c                         |  2 ++
 drivers/serial/serial_ar933x.c                   |  1 -
 drivers/serial/serial_arc.c                      |  1 -
 drivers/serial/serial_bcm283x_mu.c               |  2 ++
 drivers/serial/serial_bcm283x_pl011.c            |  2 ++
 drivers/serial/serial_bcm6345.c                  |  1 -
 drivers/serial/serial_efi.c                      |  1 -
 drivers/serial/serial_intel_mid.c                |  1 -
 drivers/serial/serial_lpuart.c                   |  1 -
 drivers/serial/serial_meson.c                    |  1 -
 drivers/serial/serial_mvebu_a3700.c              |  1 -
 drivers/serial/serial_mxc.c                      |  2 ++
 drivers/serial/serial_omap.c                     |  2 ++
 drivers/serial/serial_owl.c                      |  1 -
 drivers/serial/serial_pic32.c                    |  1 -
 drivers/serial/serial_pl01x.c                    |  2 ++
 drivers/serial/serial_s5p.c                      |  1 -
 drivers/serial/serial_sh.c                       |  2 ++
 drivers/serial/serial_sti_asc.c                  |  1 -
 drivers/serial/serial_stm32.c                    |  2 ++
 drivers/serial/serial_xuartlite.c                |  1 -
 drivers/serial/serial_zynq.c                     |  1 -
 drivers/sysreset/sysreset_x86.c                  |  1 -
 drivers/timer/ag101p_timer.c                     |  1 -
 drivers/timer/altera_timer.c                     |  1 -
 drivers/timer/arc_timer.c                        |  1 -
 drivers/timer/ast_timer.c                        |  1 -
 drivers/timer/atcpit100_timer.c                  |  1 -
 drivers/timer/atmel_pit_timer.c                  |  1 -
 drivers/timer/cadence-ttc.c                      |  1 -
 drivers/timer/dw-apb-timer.c                     |  1 -
 drivers/timer/mpc83xx_timer.c                    |  1 -
 drivers/timer/omap-timer.c                       |  1 -
 drivers/timer/rockchip_timer.c                   |  1 -
 drivers/timer/sti-timer.c                        |  1 -
 drivers/timer/stm32_timer.c                      |  1 -
 drivers/timer/tsc_timer.c                        |  1 -
 drivers/video/simplefb.c                         |  1 -
 drivers/watchdog/ast_wdt.c                       |  1 -
 lib/efi/efi_app.c                                |  1 -
 68 files changed, 51 insertions(+), 54 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 50+ messages in thread

end of thread, other threads:[~2018-12-12  7:34 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-24 13:36 [U-Boot] [PATCH 00/13] dm: DM_FLAG_PRE_RELOC flag clean up Bin Meng
2018-10-24 13:36 ` [U-Boot] [PATCH 01/13] arm: stm32mp: Remove DM_FLAG_PRE_RELOC flag Bin Meng
2018-10-25  3:28   ` Simon Glass
2018-10-29 17:15   ` Patrick DELAUNAY
2018-11-06 22:42     ` sjg at google.com
2018-10-24 13:36 ` [U-Boot] [PATCH 02/13] clk: Remove DM_FLAG_PRE_RELOC flag in various drivers Bin Meng
2018-10-25  3:28   ` Simon Glass
2018-11-06 22:42     ` sjg at google.com
2018-10-24 13:36 ` [U-Boot] [PATCH 03/13] gpio: " Bin Meng
2018-10-25  3:28   ` Simon Glass
2018-10-29 17:20   ` Patrick DELAUNAY
2018-11-06 22:42     ` sjg at google.com
2018-10-24 13:36 ` [U-Boot] [PATCH 04/13] i2c: omap24xx: Surround DM_FLAG_PRE_RELOC flag with OF_CONTROL check Bin Meng
2018-10-25  3:28   ` Simon Glass
2018-11-06 22:42     ` sjg at google.com
2018-10-24 13:36 ` [U-Boot] [PATCH 05/13] mmc: omap: " Bin Meng
2018-10-25  3:28   ` Simon Glass
2018-11-06 22:42     ` sjg at google.com
2018-10-24 13:36 ` [U-Boot] [PATCH 06/13] pinctrl: Remove DM_FLAG_PRE_RELOC flag in various drivers Bin Meng
2018-10-25  3:28   ` Simon Glass
2018-11-06 22:42     ` sjg at google.com
2018-10-24 13:36 ` [U-Boot] [PATCH 07/13] ram: bmips: Remove DM_FLAG_PRE_RELOC flag Bin Meng
2018-10-25  3:28   ` Simon Glass
2018-11-06 22:42     ` sjg at google.com
2018-10-24 13:36 ` [U-Boot] [PATCH 08/13] timer: Remove DM_FLAG_PRE_RELOC flag in various drivers Bin Meng
2018-10-25  3:28   ` Simon Glass
2018-11-06 22:42     ` sjg at google.com
2018-10-24 13:36 ` [U-Boot] [PATCH 09/13] serial: " Bin Meng
2018-10-25  3:28   ` Simon Glass
2018-11-06 22:42     ` sjg at google.com
2018-12-10 17:26   ` Igor Opaniuk
2018-12-12  7:34     ` Shawn Guo
2018-10-24 13:36 ` [U-Boot] [PATCH 10/13] sysreset: " Bin Meng
2018-10-25  3:29   ` Simon Glass
2018-11-06 22:42     ` sjg at google.com
2018-10-24 13:36 ` [U-Boot] [PATCH 11/13] video: simplefb: Remove DM_FLAG_PRE_RELOC flag Bin Meng
2018-10-25  3:29   ` Simon Glass
2018-11-06 22:42     ` sjg at google.com
2018-10-24 13:36 ` [U-Boot] [PATCH 12/13] watchdog: Remove DM_FLAG_PRE_RELOC flag in various drivers Bin Meng
2018-10-25  3:29   ` Simon Glass
2018-11-06 22:42     ` sjg at google.com
2018-10-24 13:36 ` [U-Boot] [PATCH 13/13] dm: doc: Update description of pre-relocation support Bin Meng
2018-10-25  3:29   ` Simon Glass
2018-11-06 22:42     ` sjg at google.com
2018-10-24 16:26 ` [U-Boot] [PATCH 00/13] dm: DM_FLAG_PRE_RELOC flag clean up Stephen Warren
2018-10-28 13:30 ` Adam Ford
2018-11-02  2:25   ` Bin Meng
2018-11-03  6:08     ` Simon Glass
2018-11-03  9:48       ` Bin Meng
2018-11-04 22:00         ` Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox