[RFC PATCH 0/5] Allow for removal of DT nodes and properties

Sughosh Ganu sughosh.ganu at linaro.org
Sat Aug 26 11:06:28 CEST 2023

Provide a way for removing certain devicetree nodes and/or properties
from the devicetree. This is needed to purge certain nodes and
properties which may be relevant only in U-Boot. Such nodes and
properties are then removed from the devicetree before it is passed to
the kernel. This ensures that the devicetree passed to the OS does not
contain any non-compliant nodes and properties.

The removal of the nodes and properties is being done through an
EVT_FT_FIXUP handler. I am not sure if the removal code needs to be
behind any Kconfig symbol.

I have only build tested this on sandbox, and tested on qemu arm64
virt platform. This being a RFC, I have not put this through a CI run.

Sughosh Ganu (5):
  dt: Provide a way to remove non-compliant nodes and properties
  fwu: Add the fwu-mdata node for removal from devicetree
  capsule: Add the capsule-key property for removal from devicetree
  bootefi: Call the EVT_FT_FIXUP event handler
  doc: Add a document for non-compliant DT node/property removal

 cmd/bootefi.c                                 | 18 +++++
 .../devicetree/dt_non_compliant_purge.rst     | 64 ++++++++++++++++
 drivers/fwu-mdata/fwu-mdata-uclass.c          |  5 ++
 include/dt-structs.h                          | 11 +++
 lib/Makefile                                  |  1 +
 lib/dt_purge.c                                | 73 +++++++++++++++++++
 lib/efi_loader/efi_capsule.c                  |  7 ++
 7 files changed, 179 insertions(+)
 create mode 100644 doc/develop/devicetree/dt_non_compliant_purge.rst
 create mode 100644 lib/dt_purge.c


More information about the U-Boot mailing list