[PATCH v5 0/9] Introducing (yet again) Device Tree Overlays

From: Pantelis Antoniou
Date: Wed May 28 2014 - 08:46:53 EST


The following patchset introduces Device Tree overlays, a method
of dynamically altering the kernel's live Device Tree, along with
a generic interface to use it in a board agnostic manner.

It is against linux-next as of today 28/5/2014
"134a9c91121b1081bcf737045a11b0510c5c9dfb - Add linux-next specific files for 20140528"

It relies on the following previously submitted patches/patchsets:

* OF: Add [__]of_find_node_by_full_name
* OF: Utility helper functions for dynamic nodes

To compile overlays you need the DTC compiler patch

* "dtc: Dynamic symbols & fixup support (v2)"

Changes since V4:
* New API of_overlay_create/destroy being able to support stacked
overlays correctly.
* Removed use of notifiers internally.
* Removed own-grown bus handler notifiers; using already in-place DT
notification infrastructure.
* Split SPI notifier patch to one patch of generic changes and one
for DT overlay notifier.
* Removed unused overlay depth feature.
* Updated documentation.
* Moved configfs based interface to using the new API.
* Added overlay removal stacking tests.

Changes since V3:
* Added overlay self-tests.
* Fix bug in of_init_overlay_info (wrong sizeof)
* Platform bus handler handles parent_pdev == NULL
* of_resolve fixes according to comments by robh
+ changed if (foo == NULL) to if (!foo)
+ changed if (foo != NULL) to if (foo)
+ drivers/of/Kconfig added dep on OF && !SPARC
+ convert to using be32_to_cpup
+ u32 -> __be32 when modifying property values
+ cosmetic fixes

Changes since V2:
* Use of a configfs board agnostic overlay method
* Use of per bus handlers instead of hardcoded behaviour
* Optional target-path overlay target, which allows one to use standard
DTBs without resolution options.

Changes since V1:

* Removal of any bits related to a specific board (beaglebone).
* Introduced a platform agnostic interface using /proc/device-tree-overlay
* Various bug fixes related to i2c device handling have been squashed in.

Pantelis Antoniou (9):
OF: Introduce Device Tree resolve support.
OF: Introduce DT overlay support.
OF: DT-Overlay configfs interface
OF: platform: Add OF notifier handler
of: i2c: Export single device registration method
OF: i2c: Add OF notifier handler
of: spi: Export single device registration method and accessors
OF: spi: Add OF notifier handler
OF: selftest: Add overlay self-test support.

Documentation/devicetree/bindings/selftest.txt | 14 +
.../devicetree/dynamic-resolution-notes.txt | 25 +
Documentation/devicetree/overlay-notes.txt | 160 ++++
drivers/base/platform.c | 69 +-
drivers/i2c/i2c-core.c | 165 +++-
drivers/of/Kconfig | 20 +
drivers/of/Makefile | 3 +
drivers/of/configfs.c | 251 +++++
drivers/of/overlay.c | 1001 ++++++++++++++++++++
drivers/of/resolver.c | 378 ++++++++
drivers/of/selftest.c | 481 ++++++++++
drivers/of/testcase-data/testcases.dtsi | 1 +
drivers/of/testcase-data/tests-overlay.dtsi | 180 ++++
drivers/spi/spi.c | 323 +++++--
include/linux/i2c.h | 10 +
include/linux/of.h | 167 ++++
16 files changed, 3094 insertions(+), 154 deletions(-)
create mode 100644 Documentation/devicetree/bindings/selftest.txt
create mode 100644 Documentation/devicetree/dynamic-resolution-notes.txt
create mode 100644 Documentation/devicetree/overlay-notes.txt
create mode 100644 drivers/of/configfs.c
create mode 100644 drivers/of/overlay.c
create mode 100644 drivers/of/resolver.c
create mode 100644 drivers/of/testcase-data/tests-overlay.dtsi

--
1.7.12

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/