of: overlay: Add DT-Overlay configfs interface (v7)
Add a runtime interface to using configfs for generic device tree overlay
usage. With it its possible to use device tree overlays without having
to use a per-platform overlay manager.
Please see Documentation/devicetree/configfs-overlays.txt for more info.
Changes since v6:
- Default groups properties API changed.
Changes since v5:
- New style configfs.
Changes since v4:
- Loading fix for multiple overlays as found out by
Geert Uytterhoeven <geert@linux-m68k.org>
Changes since v3:
- Fixed compilation on SPARC & Xtensa
Changes since v2:
- Removed ifdef CONFIG_OF_OVERLAY (since for now it's required)
- Created a documentation entry
- Slight rewording in Kconfig
Changes since v1:
- of_resolve() -> of_resolve_phandles().
Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Link: https://github.com/pantoniou/linux-beagle-track-mainline/commit/4f0ed58518749c1a8ce8999cb615b1eb04b8c035 # bbb-overlays
[geert: Use %zu to format size_t]
[geert: Rebase to v4.15-rc1]
[geert: Make cfs_overlay_item_dtbo_{read,write}() and of_cfs_overlay_group static]
[geert: Let OF_CONFIGFS select OF_FLATTREE to fix sparc all*config]
[geert: Spelling/grammar s/rationalle of/rationale for/]
[geert: Rebase on top of commit 39a751a4cb7e4798 ("of: change overlay apply input data from unflattened to FDT") in v4.17-rc1]
[geert: Unapplied ov_id is zero since commit 067c098766c6af66 ("of: overlay: rework overlay apply and remove kfree()s") in v5.19]
[geert: Remove partially applied overlay]
[geert: Use %pe]
[geert: Use sysfs_emit()]
[geert: Make less verbose]
[geert: Coding style]
[geert: Rebase on top of commit commit cf60ce92358da29f ("of: overlay: Fix of_overlay_fdt_apply prototype when !CONFIG_OF_OVERLAY") in v6.6-rc1]
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
4 files changed