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 devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html