[PATCH v6 0/5] of-platdata: Avoid building libfdt

Simon Glass sjg at chromium.org
Sun Jul 25 18:13:42 CEST 2021


The original patch of this series was sent in September 2019 but
unfortunately caused build problems on some boards, since they don't
comply with the of-platdata rules.

With of-platdata, the idea is to compile the device tree into C structures
to save space and avoid needing to use libfdt. But some boards use
of-platdata while also using libfdt in a few areas, thus defeating the
purpose of of-platdata.

This series includes the original two patches

   http://patchwork.ozlabs.org/patch/1167420/
   http://patchwork.ozlabs.org/patch/1167367/

as well as a few other patches to fix the build errors. Overall this
reduces code size and provides better error messages when unavailable
functions are used.

Board maintainers should still take a look at the result, adjusting the
of-platdata support as needed.

Note: This series was resent a year ago but not applied. Since then, some
boards have ended up using drivers in SPL which require OF_CONTROL, but
SPL_OF_CONTROL is not enabled. So now we have two problems. This series
fixes that one also.

The problems will keep getting worse if people are not aware that
something is wrong. Therefore I think this patch series should be applied
ASAP.

Changes in v6:
- Add new patch for atheros
- Add new patch for SPI flash
- Rebase to master

Changes in v5:
- Drop rockchip patches as those boards have been fixed

Changes in v4:
- Add new patch for rockchip build errors
- Add new patch for omap MMC build errors
- Add new patch for rockchip chromebook build errors
- Pull out patches into a new series
- Add new patches to handle build failures

Changes in v3:
- Fix eth_dev_get_mac_address() call dev_read...() only when available

Simon Glass (5):
  omap: mmc: Avoid using libfdt with of-platdata
  net: atheros: Add a check for OF_CONTROL
  spi: Add checks for OF_CONTROL
  spl: Allow SPL/TPL to use of-platdata without libfdt
  dm: core: Don't include ofnode functions with of-platdata

 drivers/core/Makefile     |  4 +++-
 drivers/mmc/davinci_mmc.c |  6 ++++++
 drivers/net/phy/atheros.c | 11 +++++++++++
 drivers/spi/spi-uclass.c  | 16 +++++++++++++---
 lib/Kconfig               |  4 ++--
 5 files changed, 35 insertions(+), 6 deletions(-)

-- 
2.32.0.432.gabb21c7263-goog



More information about the U-Boot mailing list