[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