[PATCH v3 0/8] Device Tree Overlay Support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

This is the v3 for adding device tree overlay support to barebox.

I added a new config item for building the build-in device tree with
__symbols__. As __symbols__ increases the size of the dtb and you don't need
symbols in the build-in device tree to use overlays on other device trees.
Therefore, this should be disabled unless actually needed.

Furthermore, I completely reworked the function to load firmware from a
devicetree overlay, because it must be successful whenever the overlay does
not reference firmware. However, it must always fail if the overlay references
firmware which cannot be loaded, because Barebox must not apply the overlay
without the according firmware.

There are a few other minor changes which I describe in the respective
patches.

Michael

Changelog:

v2 -> v3:
 - new file of_firmware for loading firmware from overlay
 - fix error handling when CONFIG_FIRMWARE is off
 - separate patch for firmwaremgr_find_by_node
 - make __symbols__ in build-in devicetree configurable

v1 -> v2:
 - export function for applying a device tree overlay
 - define pr_fmt for overlay and resolver
 - remove useless notifier.h
 - fix error handling/memory leak in blspec handling
 - document ownership of overlay memory

rfc -> v1:
 - new of_overlay command
 - no more notifiers for device tree overlays


Michael Tretter (8):
  of: add support for devicetree overlays
  blspec: add support for devicetree overlays
  of: add iterator for overlays
  firmware: add function to find firmware by devicetree node
  firmware: add support to load firmware from dt overlay
  blspec: load firmware if specified in dt overlay
  commands: add of_overlay command for device tree overlays
  dtc: optionally add add __symbols__ to build-in devicetree

 Documentation/user/booting-linux.rst |   4 +
 commands/Kconfig                     |  12 ++
 commands/Makefile                    |   1 +
 commands/of_overlay.c                |  89 +++++++++
 common/blspec.c                      |  78 ++++++++
 common/firmware.c                    |  18 ++
 drivers/of/Kconfig                   |  26 +++
 drivers/of/Makefile                  |   1 +
 drivers/of/of_firmware.c             |  86 +++++++++
 drivers/of/overlay.c                 | 247 ++++++++++++++++++++++++
 drivers/of/resolver.c                | 279 +++++++++++++++++++++++++++
 include/firmware.h                   |  15 ++
 include/of.h                         |  47 +++++
 scripts/Makefile.lib                 |   4 +
 14 files changed, 907 insertions(+)
 create mode 100644 commands/of_overlay.c
 create mode 100644 drivers/of/of_firmware.c
 create mode 100644 drivers/of/overlay.c
 create mode 100644 drivers/of/resolver.c

-- 
2.20.1


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux