* [PATCH 2/3] of_path: Allow pointing directly to the partition
2015-09-01 6:14 [PATCH 1/3] cdev: Add function to find cdev by device_node Sascha Hauer
@ 2015-09-01 6:14 ` Sascha Hauer
2015-09-01 6:14 ` [PATCH 3/3] ARM: dts: directly point to partitions in the barebox, environment binding Sascha Hauer
1 sibling, 0 replies; 3+ messages in thread
From: Sascha Hauer @ 2015-09-01 6:14 UTC (permalink / raw)
To: Barebox List
We could only point to partitions in the device tree by using
&norflash, "partname:barebox-environment". Allow to point to the
partition directly without having to parse the partition labels.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
.../devicetree/bindings/barebox/barebox,environment.rst | 5 +++--
drivers/of/of_path.c | 14 +++++++++-----
2 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/Documentation/devicetree/bindings/barebox/barebox,environment.rst b/Documentation/devicetree/bindings/barebox/barebox,environment.rst
index d472f66..d5e52ea 100644
--- a/Documentation/devicetree/bindings/barebox/barebox,environment.rst
+++ b/Documentation/devicetree/bindings/barebox/barebox,environment.rst
@@ -8,8 +8,9 @@ Required properties:
* ``compatible``: should be ``barebox,environment``
* ``device-path``: path to the environment
-The device-path is a multistring property. The first string should be a
-nodepath to the node containing the physical device of the environment.
+The device-path is a multistring property. The first string should contain
+a nodepath to the node containing the physical device of the environment or
+a nodepath to a partition described by the OF partition binding.
The subsequent strings are of the form <type>:<options> to further describe
the path to the environment. Supported values for <type>:
diff --git a/drivers/of/of_path.c b/drivers/of/of_path.c
index 2dc7848..992972c 100644
--- a/drivers/of/of_path.c
+++ b/drivers/of/of_path.c
@@ -117,7 +117,8 @@ out:
* @flags: use OF_FIND_PATH_FLAGS_BB to return the .bb device if available
*
* paths in the devicetree have the form of a multistring property. The first
- * string contains the full path to the physical device containing the path.
+ * string contains the full path to the physical device containing the path or
+ * a full path to a partition described by the OF partition binding.
* The remaining strings have the form "<type>:<options>". Currently supported
* for <type> are:
*
@@ -129,6 +130,7 @@ out:
*
* device-path = &mmc0, "partname:0";
* device-path = &norflash, "partname:barebox-environment";
+ * device-path = &environment_nor;
*/
int of_find_path(struct device_node *node, const char *propname, char **outpath, unsigned flags)
{
@@ -147,13 +149,15 @@ int of_find_path(struct device_node *node, const char *propname, char **outpath,
return -ENODEV;
op.dev = of_find_device_by_node_path(rnode->full_name);
- if (!op.dev)
- return -ENODEV;
+ if (!op.dev) {
+ op.dev = of_find_device_by_node_path(rnode->parent->full_name);
+ if (!op.dev)
+ return -ENODEV;
+ }
device_detect(op.dev);
- if (list_is_singular(&op.dev->cdevs))
- op.cdev = list_first_entry(&op.dev->cdevs, struct cdev, devices_list);
+ op.cdev = cdev_by_device_node(rnode);
i = 1;
--
2.5.0
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 3/3] ARM: dts: directly point to partitions in the barebox, environment binding
2015-09-01 6:14 [PATCH 1/3] cdev: Add function to find cdev by device_node Sascha Hauer
2015-09-01 6:14 ` [PATCH 2/3] of_path: Allow pointing directly to the partition Sascha Hauer
@ 2015-09-01 6:14 ` Sascha Hauer
1 sibling, 0 replies; 3+ messages in thread
From: Sascha Hauer @ 2015-09-01 6:14 UTC (permalink / raw)
To: Barebox List
We can now directly point to the partitions in the barebox,environment
binding. Convert some boards over to it.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
arch/arm/dts/imx27-phytec-phycore-rdk.dts | 8 ++++----
arch/arm/dts/imx51-babbage.dts | 4 ++--
arch/arm/dts/imx53-qsb-common.dtsi | 4 ++--
arch/arm/dts/imx6dl-eltec-hipercam.dts | 4 ++--
arch/arm/dts/imx6q-phytec-pcaaxl3.dtsi | 8 ++++----
arch/arm/dts/imx6q-sabresd.dts | 2 +-
arch/arm/dts/imx6q-var-custom.dts | 2 +-
arch/arm/dts/imx6q-var-som.dtsi | 2 +-
arch/arm/dts/imx6qdl-sabresd.dtsi | 2 +-
arch/arm/dts/imx6s-riotboard.dts | 4 ++--
10 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/arch/arm/dts/imx27-phytec-phycore-rdk.dts b/arch/arm/dts/imx27-phytec-phycore-rdk.dts
index 9d216af..f602045 100644
--- a/arch/arm/dts/imx27-phytec-phycore-rdk.dts
+++ b/arch/arm/dts/imx27-phytec-phycore-rdk.dts
@@ -10,13 +10,13 @@
environment-nor {
compatible = "barebox,environment";
- device-path = &nor, "partname:env";
+ device-path = &environment_nor;
status = "disabled";
};
environment-nand {
compatible = "barebox,environment";
- device-path = &nfc, "partname:env";
+ device-path = &environment_nand;
status = "disabled";
};
};
@@ -32,7 +32,7 @@
reg = <0x00000000 0x00080000>;
};
- partition@1 {
+ environment_nand: partition@1 {
label = "env";
reg = <0x00080000 0x00020000>;
};
@@ -54,7 +54,7 @@
reg = <0x00000000 0x00080000>;
};
- partition@1 {
+ environment_nor: partition@1 {
label = "env";
reg = <0x00080000 0x00020000>;
};
diff --git a/arch/arm/dts/imx51-babbage.dts b/arch/arm/dts/imx51-babbage.dts
index 909774b..f8402ca 100644
--- a/arch/arm/dts/imx51-babbage.dts
+++ b/arch/arm/dts/imx51-babbage.dts
@@ -18,7 +18,7 @@
environment@0 {
compatible = "barebox,environment";
- device-path = &esdhc1, "partname:barebox-environment";
+ device-path = &environment_esdhc1;
};
};
};
@@ -27,7 +27,7 @@
#address-cells = <1>;
#size-cells = <1>;
- partition@0 {
+ environment_esdhc1: partition@0 {
label = "barebox-environment";
reg = <0x80000 0x20000>;
};
diff --git a/arch/arm/dts/imx53-qsb-common.dtsi b/arch/arm/dts/imx53-qsb-common.dtsi
index 4007a09..bf634e4 100644
--- a/arch/arm/dts/imx53-qsb-common.dtsi
+++ b/arch/arm/dts/imx53-qsb-common.dtsi
@@ -16,7 +16,7 @@
environment@0 {
compatible = "barebox,environment";
- device-path = &esdhc1, "partname:barebox-environment";
+ device-path = &bareboxenv;
};
};
};
@@ -25,7 +25,7 @@
#address-cells = <1>;
#size-cells = <1>;
- partition@0 {
+ bareboxenv: partition@0 {
label = "barebox-environment";
reg = <0x80000 0x20000>;
};
diff --git a/arch/arm/dts/imx6dl-eltec-hipercam.dts b/arch/arm/dts/imx6dl-eltec-hipercam.dts
index 737752f..166f8f1 100644
--- a/arch/arm/dts/imx6dl-eltec-hipercam.dts
+++ b/arch/arm/dts/imx6dl-eltec-hipercam.dts
@@ -15,7 +15,7 @@
environment@0 {
compatible = "barebox,environment";
- device-path = &norflash0, "partname:bareboxenv";
+ device-path = &environment_nor0;
};
};
};
@@ -39,7 +39,7 @@
reg = <0x0 0xc0000>;
};
- partition@1 {
+ environment_nor0: partition@1 {
label = "bareboxenv";
reg = <0xc0000 0x8000>;
};
diff --git a/arch/arm/dts/imx6q-phytec-pcaaxl3.dtsi b/arch/arm/dts/imx6q-phytec-pcaaxl3.dtsi
index 6435ab7..97cf78a 100644
--- a/arch/arm/dts/imx6q-phytec-pcaaxl3.dtsi
+++ b/arch/arm/dts/imx6q-phytec-pcaaxl3.dtsi
@@ -19,13 +19,13 @@
chosen {
environment-sd {
compatible = "barebox,environment";
- device-path = &usdhc3, "partname:barebox-environment";
+ device-path = &environment_usdhc3;
status = "disabled";
};
environment-nand {
compatible = "barebox,environment";
- device-path = &gpmi, "partname:barebox-environment";
+ device-path = &environment_nand;
status = "disabled";
};
};
@@ -139,7 +139,7 @@
reg = <0x0 0x400000>;
};
- partition@1 {
+ environment_nand: partition@1 {
label = "barebox-environment";
reg = <0x400000 0x20000>;
};
@@ -183,7 +183,7 @@
label = "barebox";
reg = <0x0 0x80000>;
};
- partition@1 {
+ environment_usdhc3: partition@1 {
label = "barebox-environment";
reg = <0x80000 0x80000>;
};
diff --git a/arch/arm/dts/imx6q-sabresd.dts b/arch/arm/dts/imx6q-sabresd.dts
index 71ca855..1f92c15 100644
--- a/arch/arm/dts/imx6q-sabresd.dts
+++ b/arch/arm/dts/imx6q-sabresd.dts
@@ -25,7 +25,7 @@
environment@0 {
compatible = "barebox,environment";
- device-path = &usdhc3, "partname:barebox-environment";
+ device-path = &environment_usdhc3;
};
};
};
diff --git a/arch/arm/dts/imx6q-var-custom.dts b/arch/arm/dts/imx6q-var-custom.dts
index 795114d..ef6981e 100644
--- a/arch/arm/dts/imx6q-var-custom.dts
+++ b/arch/arm/dts/imx6q-var-custom.dts
@@ -30,7 +30,7 @@
environment@0 {
compatible = "barebox,environment";
- device-path = &gpmi, "partname:barebox-environment";
+ device-path = &environment_nand;
};
};
diff --git a/arch/arm/dts/imx6q-var-som.dtsi b/arch/arm/dts/imx6q-var-som.dtsi
index 7926911..d005f31 100644
--- a/arch/arm/dts/imx6q-var-som.dtsi
+++ b/arch/arm/dts/imx6q-var-som.dtsi
@@ -42,7 +42,7 @@
reg = <0x0 0x200000>;
};
- partition@1 {
+ environment_nand: partition@1 {
label = "barebox-environment";
reg = <0x200000 0x20000>;
};
diff --git a/arch/arm/dts/imx6qdl-sabresd.dtsi b/arch/arm/dts/imx6qdl-sabresd.dtsi
index 54201bd..32318cf 100644
--- a/arch/arm/dts/imx6qdl-sabresd.dtsi
+++ b/arch/arm/dts/imx6qdl-sabresd.dtsi
@@ -34,7 +34,7 @@
reg = <0x0 0x80000>;
};
- partition@1 {
+ environment_usdhc3: partition@1 {
label = "barebox-environment";
reg = <0x80000 0x80000>;
};
diff --git a/arch/arm/dts/imx6s-riotboard.dts b/arch/arm/dts/imx6s-riotboard.dts
index 117c00a..a522dd9 100644
--- a/arch/arm/dts/imx6s-riotboard.dts
+++ b/arch/arm/dts/imx6s-riotboard.dts
@@ -17,7 +17,7 @@
environment@0 {
compatible = "barebox,environment";
- device-path = &usdhc4, "partname:barebox-environment";
+ device-path = &environment_usdhc4;
};
};
@@ -232,7 +232,7 @@
reg = <0x0 0x80000>;
};
- partition@1 {
+ environment_usdhc4: partition@1 {
label = "barebox-environment";
reg = <0x80000 0x80000>;
};
--
2.5.0
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 3+ messages in thread