Currently even the devicetree enabled boards need C code to configure where to store the environment. The following series makes this configurable via devicetree to further reduce the need of C code for boards. As I often point out that the devicetree is for hardware description rather than for configuration, the configuration is done in the node explicitly intended for configuration: /chosen. We add a hierarchy /chosen/barebox/ in the devicetree on which of_platform_populate is called. This allows us to do the configuration as regular drivers and to reuse a lot of infrastructure. Implementing this as drivers also has the advantage that the known mechanisms can be used to consistently change the behaviour of different boards without breaking old boards. Sascha ---------------------------------------------------------------- Sascha Hauer (9): devfs: let devfs_add_partition return the new partition of: export of_default_bus_match_table of: partitions: factor out function to parse a single partition cdev: introduce partition names cdev: allow to open a struct cdev cdev: add device_find_partition mci: set partnames of eMMC boot partitions Add configurability via devicetree ARM: i.MX Datamodul edmqx6: configure environment from devicetree Documentation/devicetree/bindings/barebox.txt | 10 ++ .../bindings/barebox/barebox,environment.txt | 24 +++ .../bindings/barebox/barebox,partition.txt | 42 +++++ arch/arm/boards/dmo-mx6-realq7/board.c | 16 -- arch/arm/configs/dmo-realq7_defconfig | 1 + arch/arm/dts/imx6q-dmo-realq7.dts | 24 +++ arch/x86/boards/x86_generic/generic_pc.c | 6 +- commands/partition.c | 11 +- common/environment.c | 10 +- common/partitions.c | 12 +- drivers/mci/mci-core.c | 12 +- drivers/of/Kconfig | 9 + drivers/of/Makefile | 1 + drivers/of/barebox.c | 191 +++++++++++++++++++++ drivers/of/of_path.c | 155 +++++++++++++++++ drivers/of/partition.c | 58 ++++--- fs/devfs-core.c | 60 +++++-- include/driver.h | 14 +- include/of.h | 14 ++ 19 files changed, 600 insertions(+), 70 deletions(-) create mode 100644 Documentation/devicetree/bindings/barebox.txt create mode 100644 Documentation/devicetree/bindings/barebox/barebox,environment.txt create mode 100644 Documentation/devicetree/bindings/barebox/barebox,partition.txt create mode 100644 drivers/of/barebox.c create mode 100644 drivers/of/of_path.c _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox