[U-Boot] [PATCH 00/13] dm: DM_FLAG_PRE_RELOC flag clean up

Bin Meng bmeng.cn at gmail.com
Fri Nov 2 02:25:33 UTC 2018


On Sun, Oct 28, 2018 at 9:31 PM Adam Ford <aford173 at gmail.com> wrote:
>
> On Wed, Oct 24, 2018 at 8:32 AM Bin Meng <bmeng.cn at gmail.com> wrote:
> >
> > 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
> >
>
> This works just fine for me on the am3517_evm and the omap3_logic boards.
>
> Tested-by Adam Ford <aford173 at gmailcom>
>

Thanks Adam and Stephen's testing.

Simon,

Looks we don't have too much time before release, would you please
test and send the PR?

Another series (http://patchwork.ozlabs.org/project/uboot/list/?series=70686)
needs to be pulled in to unblock x86 too.

Regards,
Bin


More information about the U-Boot mailing list