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

From: Grant Likely
Date: Thu May 29 2014 - 09:56:44 EST


On Wed, 28 May 2014 15:46:24 +0300, Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> wrote:
> 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

In the next version, can you include the patches you depend on that
aren't already in my tree?

> 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.

Good changes. This version is considerably better than the past one.
I've still got comments, but I'm a lot more comfortable with the
approach.

> 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/

--
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/