Hi all, this series is our approach to address the EPROBE_DEFER and initcall shifting problem. I skip the deep-probe explanation here and instead refer to the detailed commit message of patch 5. Thanks a lot to Sascha, Ahmad and Lucas for the review feedback :) Each patch has a own changelog. Patch 1: - Cleanup Patch 2-3: - Those patches were Patch-1 in my v2. Sascha suggested to split it and to adapt the commit messages. Patche 4-6: - Deep probe preparation patche Patch 7: - The interesting part of this series. This patch implements the deep-probe mechanism and adds helpers to make your board deep-probe aware. Patch 8-9: - Adds STM32MP1 and i.MX architecture specific deep-probe code. For those architectures this means that we need to populate the memory-controller. Patch 10: - Convert the sabrelite board to use the deep_probe mechanism. This can be used as example for others :) Comments and testers are welcome, as always :) Regards, Marco Lucas Stach (1): of: base: move memory init from DT to initcall Marco Felsch (9): imx53: remove unused imx53_add_nand of: platform: remove check of already added devices of: platform: Keep track of populated platform devices of: base: move clock init from of_probe() to barebox_register_of() initcall: add of_populate_initcall common: add initial barebox deep-probe support ARM: i.MX: esdctl: add deep-probe support ARM: stm32mp: ddrctrl: add deep-probe support ARM: boards: mx6-sabrelite: add deep-probe support .../boards/freescale-mx6-sabrelite/board.c | 24 +- arch/arm/mach-imx/esdctl.c | 13 +- .../arm/mach-imx/include/mach/devices-imx53.h | 27 --- arch/arm/mach-stm32mp/ddrctrl.c | 13 +- common/Makefile | 1 + common/deep-probe.c | 34 +++ drivers/base/driver.c | 11 +- drivers/clk/clk.c | 5 + drivers/i2c/i2c.c | 8 + drivers/of/base.c | 28 ++- drivers/of/platform.c | 216 +++++++++++++++--- drivers/regulator/core.c | 6 + drivers/reset/core.c | 4 + drivers/spi/spi.c | 2 + include/asm-generic/barebox.lds.h | 11 +- include/deep-probe.h | 26 +++ include/init.h | 10 +- include/of.h | 29 +++ 18 files changed, 388 insertions(+), 80 deletions(-) create mode 100644 common/deep-probe.c create mode 100644 include/deep-probe.h -- 2.20.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox