[PATCH v8 0/8] Device Tree Overlays - 8th time's the charm

From: Pantelis Antoniou
Date: Tue Oct 28 2014 - 16:36:20 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 mainline as of today 28/10/2014
"f7e87a44ef60ad379e39b45437604141453bf0ec"
Merge tag 'media/v3.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media

It relies on the following previously submitted patches/patchsets:

* configfs: Implement binary attributes (v2)

To compile overlays you need the DTC compiler patch

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

The full patchset is applied to the following tree/branch:

git: git@xxxxxxxxxx:pantoniou/linux-beagle-track-mainline.git
branch: dt-ng/bbb
http: https://github.com/pantoniou/linux-beagle-track-mainline/tree/dt-ng4/gcl-bbb

Changes since V7:
* Using the mainline resolver with the updated local fixups format.
* Drop delete capability using '-' prefix. The '-' prefixed names
are valid properties and nodes and there is no need for it just yet.
* Do not update special properties - name & phandle ones.
* Change order of node attachment, so that the special property update
works.

Changes since V6:
* Now using the updated transaction API.

Changes since V5:
* Rely on transactions for affecting changes to the live tree.
This makes the patchset considerably smaller, and easier to grok.
* Removed the internal API, simplyfing the interface.

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: selftest: Add overlay self-test 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

Pantelis Antoniou (8):
OF: Introduce DT overlay support. (v2)
OF: selftest: Add overlay self-test support. (v2)
OF: DT-Overlay configfs interface (v2)
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

Documentation/devicetree/bindings/selftest.txt | 14 +
Documentation/devicetree/overlay-notes.txt | 137 ++++++
drivers/base/platform.c | 18 +-
drivers/i2c/i2c-core.c | 178 +++++--
drivers/of/Kconfig | 14 +
drivers/of/Makefile | 2 +
drivers/of/configfs.c | 340 +++++++++++++
drivers/of/overlay.c | 656 +++++++++++++++++++++++++
drivers/of/platform.c | 78 +++
drivers/of/selftest.c | 481 ++++++++++++++++++
drivers/of/testcase-data/testcases.dts | 16 +
drivers/of/testcase-data/tests-overlay.dtsi | 180 +++++++
drivers/spi/spi.c | 334 +++++++++----
include/linux/i2c.h | 10 +
include/linux/of.h | 31 ++
include/linux/of_platform.h | 10 +
16 files changed, 2351 insertions(+), 148 deletions(-)
create mode 100644 Documentation/devicetree/bindings/selftest.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/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/