* [PATCH 0/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode
@ 2025-02-17 18:08 Ahmad Fatoum
2025-02-17 18:08 ` [PATCH 1/6] of: factor out of_node_is_fixed_partitions check Ahmad Fatoum
` (7 more replies)
0 siblings, 8 replies; 10+ messages in thread
From: Ahmad Fatoum @ 2025-02-17 18:08 UTC (permalink / raw)
To: barebox
barebox has for many years supported a superset of the upstream OF
partitions binding by parsing partitions out of SD/eMMC and EEPROM
in addition to MTD.
Unfortunately, we didn't upstream our binding and a different binding
went upstream into Linux v6.13-rc1 along with Linux commit
2e3a191e89f9 ("block: add support for partition table defined in OF").
Since then, if CONFIG_OF_PARTITION, which is disabled by default, is
enabled, Linux will ignore any GPT/MBR if an SD/eMMC node has a
fixed-partitions compatible subnode.
This is different from the barebox behavior, which allows both OF
partitions and GPT/MBR to co-exist as long as they don't conflict.
As many barebox boards:
- Place the environment in non-partitioned space prior to the first
partition
- Fixup all fixed-partitions into the kernel device tree by default
this can result in breakage if a newer kernel is booted with
CONFIG_OF_PARTITION enabled.
To resolve this, this series introduces the barebox,fixed-partitions
compatible and uses that in Linux device tree fixups for SD/eMMC
by default.
Ahmad Fatoum (6):
of: factor out of_node_is_fixed_partitions check
of: of_path: support barebox,fixed-partitions
ARM: IMX8MP: var-dart-dt8mcustomboard.dts: use new-style partition
binding
ARM: dts: prefix all non-MTD fixed-partitions with barebox,
of: partition: refactor of_partition_binding checks into switch
of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup
mode
.../devicetree/bindings/mtd/partition.rst | 27 +++++++-
Documentation/user/state.rst | 4 +-
arch/arm/dts/am335x-phytec-state.dtsi | 2 +-
.../dts/fsl-ls1046a-tqmls1046a-mbls10xxa.dts | 2 +-
arch/arm/dts/imx50-kindle-common.dtsi | 2 +-
arch/arm/dts/imx51-zii-rdu1.dts | 2 +-
arch/arm/dts/imx6dl-colibri-iris.dts | 2 +-
arch/arm/dts/imx6qdl-phytec-mira.dtsi | 2 +-
arch/arm/dts/imx6qdl-phytec-phycard-som.dtsi | 2 +-
arch/arm/dts/imx6qdl-phytec-phycore-som.dtsi | 2 +-
arch/arm/dts/imx6qdl-phytec-state.dtsi | 2 +-
arch/arm/dts/imx6qdl-zii-rdu2.dtsi | 2 +-
arch/arm/dts/imx6ul-liteboard.dts | 4 +-
arch/arm/dts/imx6ul-phytec-state.dtsi | 2 +-
arch/arm/dts/imx6ul-tqma6ul-common.dtsi | 4 +-
arch/arm/dts/imx6ul-webasto-ccbv2.dts | 2 +-
arch/arm/dts/imx6ul-webasto-marvel.dts | 2 +-
arch/arm/dts/imx7d-ac-sxb.dtsi | 4 +-
arch/arm/dts/imx7d-flex-concentrator-mfg.dts | 2 +-
arch/arm/dts/imx7d-gome-e143_01.dts | 2 +-
arch/arm/dts/imx7d-phyboard-zeta.dts | 2 +-
arch/arm/dts/imx7s-warp.dts | 2 +-
arch/arm/dts/imx8mm-innocomm-wb15-evk.dts | 4 +-
arch/arm/dts/imx8mm-phyboard-polis-rdk.dts | 4 +-
arch/arm/dts/imx8mp-debix-model-a.dts | 4 +-
arch/arm/dts/imx8mp-debix-som-a-bmb-08.dts | 4 +-
arch/arm/dts/imx8mp-karo-qsxp-ml81.dtsi | 2 +-
.../dts/imx8mp-var-dart-dt8mcustomboard.dts | 25 ++++----
arch/arm/dts/rk3566-cm3-io.dts | 4 +-
arch/arm/dts/rk3566-pinetab2.dtsi | 4 +-
arch/arm/dts/rk3568-bpi-r2-pro.dts | 4 +-
arch/arm/dts/rk3568-evb1-v10.dts | 4 +-
arch/arm/dts/rk3568-mecsbc.dts | 4 +-
arch/arm/dts/rk3568-rock-3a.dts | 4 +-
arch/arm/dts/rk3568-wolfvision-pf5.dts | 2 +-
arch/arm/dts/rk3588-orangepi-5-plus.dts | 4 +-
arch/arm/dts/rk3588-rock-5b.dts | 4 +-
arch/arm/dts/socfpga_arria10_achilles.dts | 2 +-
arch/arm/dts/socfpga_arria10_mercury_aa1.dts | 2 +-
arch/arm/dts/state-example.dtsi | 4 +-
drivers/of/base.c | 6 +-
drivers/of/of_path.c | 9 ++-
drivers/of/partition.c | 62 ++++++++++++-------
include/of.h | 6 ++
44 files changed, 149 insertions(+), 96 deletions(-)
--
2.39.5
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/6] of: factor out of_node_is_fixed_partitions check
2025-02-17 18:08 [PATCH 0/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode Ahmad Fatoum
@ 2025-02-17 18:08 ` Ahmad Fatoum
2025-02-17 18:08 ` [PATCH 2/6] of: of_path: support barebox,fixed-partitions Ahmad Fatoum
` (6 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Ahmad Fatoum @ 2025-02-17 18:08 UTC (permalink / raw)
To: barebox; +Cc: Ahmad Fatoum
We have a number of places where we check if a node is compatible with
"fixed-partitions". In preparation for supporting
"barebox,fixed-partitions" as well, factor out the existing compatible
check into a new of_node_is_fixed_partitions() function.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
drivers/of/base.c | 6 ++----
drivers/of/of_path.c | 7 ++++++-
drivers/of/partition.c | 4 ++--
include/of.h | 6 ++++++
4 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/drivers/of/base.c b/drivers/of/base.c
index 125f24056eec..dfe4861c9eb6 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -351,7 +351,7 @@ static const char *of_get_partition_device_alias(struct device_node *np)
return alias;
np = of_get_parent(np);
- if (np && of_device_is_compatible(np, "fixed-partitions"))
+ if (np && of_node_is_fixed_partitions(np))
np = of_get_parent(np);
return of_alias_get(np);
@@ -3271,10 +3271,8 @@ char *of_get_reproducible_name(struct device_node *node)
* "fixed-partitions" compatible. We skip this extra subnode from the
* reproducible name to get the same name for both bindings.
*/
- if (node->parent &&
- of_device_is_compatible(node->parent, "fixed-partitions")) {
+ if (node->parent && of_node_is_fixed_partitions(node->parent))
node = node->parent;
- }
offset = of_read_number(reg, na);
diff --git a/drivers/of/of_path.c b/drivers/of/of_path.c
index 42efb1ad1dbf..b3feaa07e39d 100644
--- a/drivers/of/of_path.c
+++ b/drivers/of/of_path.c
@@ -12,6 +12,11 @@
#include <linux/mtd/mtd.h>
+bool of_node_is_fixed_partitions(const struct device_node *np)
+{
+ return of_device_is_compatible(np, "fixed-partitions");
+}
+
struct device *of_find_device_by_node_path(const char *path)
{
struct device *dev;
@@ -55,7 +60,7 @@ static struct cdev *__of_cdev_find(struct device_node *node, const char *part)
const char *uuid;
struct device_node *devnode = node->parent;
- if (of_device_is_compatible(devnode, "fixed-partitions")) {
+ if (of_node_is_fixed_partitions(devnode)) {
devnode = devnode->parent;
/* when partuuid is specified short-circuit the search for the cdev */
diff --git a/drivers/of/partition.c b/drivers/of/partition.c
index 56933cc958f7..4f966d900f1f 100644
--- a/drivers/of/partition.c
+++ b/drivers/of/partition.c
@@ -93,7 +93,7 @@ int of_parse_partitions(struct cdev *cdev, struct device_node *node)
subnode = of_get_child_by_name(node, "partitions");
if (subnode) {
- if (!of_device_is_compatible(subnode, "fixed-partitions"))
+ if (!of_node_is_fixed_partitions(subnode))
return -EINVAL;
node = subnode;
}
@@ -125,7 +125,7 @@ int of_partition_ensure_probed(struct device_node *np)
return -EINVAL;
/* Check if modern partitions binding */
- if (of_device_is_compatible(parent, "fixed-partitions")) {
+ if (of_node_is_fixed_partitions(parent)) {
parent = of_get_parent(parent);
/*
diff --git a/include/of.h b/include/of.h
index a83663c602b1..985f0195b2aa 100644
--- a/include/of.h
+++ b/include/of.h
@@ -204,6 +204,7 @@ extern const char *of_get_machine_compatible(void);
extern int of_machine_is_compatible(const char *compat);
extern int of_device_is_compatible(const struct device_node *device,
const char *compat);
+extern bool of_node_is_fixed_partitions(const struct device_node *np);
extern int of_device_is_available(const struct device_node *device);
extern bool of_device_is_big_endian(const struct device_node *device);
@@ -916,6 +917,11 @@ static inline int of_device_is_compatible(const struct device_node *device,
return 0;
}
+static inline bool of_node_is_fixed_partitions(const struct device_node *device)
+{
+ return false;
+}
+
static inline int of_device_is_available(const struct device_node *device)
{
return 0;
--
2.39.5
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/6] of: of_path: support barebox,fixed-partitions
2025-02-17 18:08 [PATCH 0/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode Ahmad Fatoum
2025-02-17 18:08 ` [PATCH 1/6] of: factor out of_node_is_fixed_partitions check Ahmad Fatoum
@ 2025-02-17 18:08 ` Ahmad Fatoum
2025-02-17 18:08 ` [PATCH 3/6] ARM: IMX8MP: var-dart-dt8mcustomboard.dts: use new-style partition binding Ahmad Fatoum
` (5 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Ahmad Fatoum @ 2025-02-17 18:08 UTC (permalink / raw)
To: barebox; +Cc: Ahmad Fatoum
barebox has for many years supported a superset of the upstream OF
partitions binding by parsing partitions out of SD/eMMC and EEPROM
in addition to MTD.
Unfortunately, we didn't upstream our binding and a different binding
went upstream into Linux v6.13-rc1 along with Linux commit
2e3a191e89f9 ("block: add support for partition table defined in OF").
Since then, if CONFIG_OF_PARTITION, which is disabled by default, is
enabled, Linux will ignore any GPT/MBR if an SD/eMMC node has a
fixed-partitions compatible subnode.
This is different from the barebox behavior, which allows both OF
partitions and GPT/MBR to co-exist as long as they don't conflict.
As many barebox boards:
- Place the environment in non-partitioned space prior to the first
partition
- Fixup all fixed-partitions into the kernel device tree by default
this results in breakage if a newer kernel is booted with
CONFIG_OF_PARTITION enabled.
As first step towards resolving this, teach barebox to parse
barebox,fixed-partitions the same way it parses fixed-partitions.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
drivers/of/of_path.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/of/of_path.c b/drivers/of/of_path.c
index b3feaa07e39d..57bd82a741ba 100644
--- a/drivers/of/of_path.c
+++ b/drivers/of/of_path.c
@@ -14,7 +14,9 @@
bool of_node_is_fixed_partitions(const struct device_node *np)
{
- return of_device_is_compatible(np, "fixed-partitions");
+ return of_device_is_compatible(np, "fixed-partitions") ||
+ of_device_is_compatible(np, "barebox,fixed-partitions");
+
}
struct device *of_find_device_by_node_path(const char *path)
--
2.39.5
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/6] ARM: IMX8MP: var-dart-dt8mcustomboard.dts: use new-style partition binding
2025-02-17 18:08 [PATCH 0/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode Ahmad Fatoum
2025-02-17 18:08 ` [PATCH 1/6] of: factor out of_node_is_fixed_partitions check Ahmad Fatoum
2025-02-17 18:08 ` [PATCH 2/6] of: of_path: support barebox,fixed-partitions Ahmad Fatoum
@ 2025-02-17 18:08 ` Ahmad Fatoum
2025-02-17 18:08 ` [PATCH 4/6] ARM: dts: prefix all non-MTD fixed-partitions with barebox, Ahmad Fatoum
` (4 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Ahmad Fatoum @ 2025-02-17 18:08 UTC (permalink / raw)
To: barebox; +Cc: Michael Kopfensteiner, Ahmad Fatoum
The fixed-partitions compatible is meant to be used for the partitions
container holding the individual partitions and not for every individual
partition.
This didn't lead to problems so far, because barebox ignored the
compatible and parsed them as legacy partitions.
Resolve the confusion by changing the description to use the new-style
binding correctly.
While at it, we also drop some leading zeroes for readability's sake.
Cc: Michael Kopfensteiner <michael.kopfensteiner@vahle.com>
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
.../dts/imx8mp-var-dart-dt8mcustomboard.dts | 23 ++++++++++---------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/arch/arm/dts/imx8mp-var-dart-dt8mcustomboard.dts b/arch/arm/dts/imx8mp-var-dart-dt8mcustomboard.dts
index ab4c5790cf15..f11218c904f5 100644
--- a/arch/arm/dts/imx8mp-var-dart-dt8mcustomboard.dts
+++ b/arch/arm/dts/imx8mp-var-dart-dt8mcustomboard.dts
@@ -356,9 +356,6 @@ &usb_dwc3_1 {
};
&usdhc2 {
- #address-cells = <2>;
- #size-cells = <1>;
-
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
@@ -368,16 +365,20 @@ &usdhc2 {
bus-width = <4>;
status = "okay";
- partition@0 {
+ partitions {
compatible = "fixed-partitions";
- label = "barebox";
- reg = <0x00000000 0x00000000 0x000e0000>;
- };
+ #size-cells = <2>;
+ #address-cells = <1>;
- env_sd: partition@e0000 {
- compatible = "fixed-partitions";
- label = "barebox-environment";
- reg = <0x00000000 0x000e0000 0x00020000>;
+ partition@0 {
+ label = "barebox";
+ reg = <0x0 0x0 0xe0000>;
+ };
+
+ env_sd: partition@e0000 {
+ label = "barebox-environment";
+ reg = <0x0 0xe0000 0x20000>;
+ };
};
};
--
2.39.5
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 4/6] ARM: dts: prefix all non-MTD fixed-partitions with barebox,
2025-02-17 18:08 [PATCH 0/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode Ahmad Fatoum
` (2 preceding siblings ...)
2025-02-17 18:08 ` [PATCH 3/6] ARM: IMX8MP: var-dart-dt8mcustomboard.dts: use new-style partition binding Ahmad Fatoum
@ 2025-02-17 18:08 ` Ahmad Fatoum
2025-02-17 18:08 ` [PATCH 5/6] of: partition: refactor of_partition_binding checks into switch Ahmad Fatoum
` (3 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Ahmad Fatoum @ 2025-02-17 18:08 UTC (permalink / raw)
To: barebox; +Cc: Ahmad Fatoum
While it's generally advisable to boot Linux with a Linux device tree
from the same release, barebox device trees should nevertheless be
usable to boot Linux.
For many barebox device trees, this was no longer the case since Linux
v6.13-rc1 with CONFIG_OF_PARTITION enabled, as Linux commit 2e3a191e89f9
("block: add support for partition table defined in OF") will result
in Linux ignoring the GPT/MBR if fixed-partitions are specified.
To resolve this, replace all fixed-partitions we have for SD/MMC and
EEPROMs devices with barebox,fixed-partitions instead.
Changes to the EEPROM nodes could've been omitted, but they are included
anyway as partitioning EEPROMs isn't supported by Linux upstream and to
anticipate any breakage that may result if a different binding goes
upstream first.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
Documentation/user/state.rst | 4 ++--
arch/arm/dts/am335x-phytec-state.dtsi | 2 +-
arch/arm/dts/fsl-ls1046a-tqmls1046a-mbls10xxa.dts | 2 +-
arch/arm/dts/imx50-kindle-common.dtsi | 2 +-
arch/arm/dts/imx51-zii-rdu1.dts | 2 +-
arch/arm/dts/imx6dl-colibri-iris.dts | 2 +-
arch/arm/dts/imx6qdl-phytec-mira.dtsi | 2 +-
arch/arm/dts/imx6qdl-phytec-phycard-som.dtsi | 2 +-
arch/arm/dts/imx6qdl-phytec-phycore-som.dtsi | 2 +-
arch/arm/dts/imx6qdl-phytec-state.dtsi | 2 +-
arch/arm/dts/imx6qdl-zii-rdu2.dtsi | 2 +-
arch/arm/dts/imx6ul-liteboard.dts | 4 ++--
arch/arm/dts/imx6ul-phytec-state.dtsi | 2 +-
arch/arm/dts/imx6ul-tqma6ul-common.dtsi | 4 ++--
arch/arm/dts/imx6ul-webasto-ccbv2.dts | 2 +-
arch/arm/dts/imx6ul-webasto-marvel.dts | 2 +-
arch/arm/dts/imx7d-ac-sxb.dtsi | 4 ++--
arch/arm/dts/imx7d-flex-concentrator-mfg.dts | 2 +-
arch/arm/dts/imx7d-gome-e143_01.dts | 2 +-
arch/arm/dts/imx7d-phyboard-zeta.dts | 2 +-
arch/arm/dts/imx7s-warp.dts | 2 +-
arch/arm/dts/imx8mm-innocomm-wb15-evk.dts | 4 ++--
arch/arm/dts/imx8mm-phyboard-polis-rdk.dts | 4 ++--
arch/arm/dts/imx8mp-debix-model-a.dts | 4 ++--
arch/arm/dts/imx8mp-debix-som-a-bmb-08.dts | 4 ++--
arch/arm/dts/imx8mp-karo-qsxp-ml81.dtsi | 2 +-
arch/arm/dts/imx8mp-var-dart-dt8mcustomboard.dts | 2 +-
arch/arm/dts/rk3566-cm3-io.dts | 4 ++--
arch/arm/dts/rk3566-pinetab2.dtsi | 4 ++--
arch/arm/dts/rk3568-bpi-r2-pro.dts | 4 ++--
arch/arm/dts/rk3568-evb1-v10.dts | 4 ++--
arch/arm/dts/rk3568-mecsbc.dts | 4 ++--
arch/arm/dts/rk3568-rock-3a.dts | 4 ++--
arch/arm/dts/rk3568-wolfvision-pf5.dts | 2 +-
arch/arm/dts/rk3588-orangepi-5-plus.dts | 4 ++--
arch/arm/dts/rk3588-rock-5b.dts | 4 ++--
arch/arm/dts/socfpga_arria10_achilles.dts | 2 +-
arch/arm/dts/socfpga_arria10_mercury_aa1.dts | 2 +-
arch/arm/dts/state-example.dtsi | 4 ++--
39 files changed, 56 insertions(+), 56 deletions(-)
diff --git a/Documentation/user/state.rst b/Documentation/user/state.rst
index 75352302c7ff..d97ba4e9f157 100644
--- a/Documentation/user/state.rst
+++ b/Documentation/user/state.rst
@@ -639,7 +639,7 @@ above:
&mmc1 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
[…]
@@ -723,7 +723,7 @@ within the EEPROM.
eeprom@50 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#size-cells = <1>;
#address-cells = <1>;
backend_state_eeprom: eeprom_state_memory@400 {
diff --git a/arch/arm/dts/am335x-phytec-state.dtsi b/arch/arm/dts/am335x-phytec-state.dtsi
index af4da4ea6469..b6ae82b6b24a 100644
--- a/arch/arm/dts/am335x-phytec-state.dtsi
+++ b/arch/arm/dts/am335x-phytec-state.dtsi
@@ -93,7 +93,7 @@ priority {
&eeprom {
status = "okay";
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#size-cells = <1>;
#address-cells = <1>;
backend_state_mac_eeprom: state@0 {
diff --git a/arch/arm/dts/fsl-ls1046a-tqmls1046a-mbls10xxa.dts b/arch/arm/dts/fsl-ls1046a-tqmls1046a-mbls10xxa.dts
index 787a85394c8a..61ac294c0a36 100644
--- a/arch/arm/dts/fsl-ls1046a-tqmls1046a-mbls10xxa.dts
+++ b/arch/arm/dts/fsl-ls1046a-tqmls1046a-mbls10xxa.dts
@@ -29,7 +29,7 @@ partitions {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
partition@1000 {
label = "barebox";
diff --git a/arch/arm/dts/imx50-kindle-common.dtsi b/arch/arm/dts/imx50-kindle-common.dtsi
index c286dcb2e91f..2ef32da80fa6 100644
--- a/arch/arm/dts/imx50-kindle-common.dtsi
+++ b/arch/arm/dts/imx50-kindle-common.dtsi
@@ -138,7 +138,7 @@ &esdhc3 {
status = "okay";
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
diff --git a/arch/arm/dts/imx51-zii-rdu1.dts b/arch/arm/dts/imx51-zii-rdu1.dts
index 6bb491ec3b0a..99da52858f4f 100644
--- a/arch/arm/dts/imx51-zii-rdu1.dts
+++ b/arch/arm/dts/imx51-zii-rdu1.dts
@@ -83,7 +83,7 @@ env_spinor: partition@e0000 {
&esdhc1 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
diff --git a/arch/arm/dts/imx6dl-colibri-iris.dts b/arch/arm/dts/imx6dl-colibri-iris.dts
index 0e10b34cf71c..0986aa6067a5 100644
--- a/arch/arm/dts/imx6dl-colibri-iris.dts
+++ b/arch/arm/dts/imx6dl-colibri-iris.dts
@@ -17,7 +17,7 @@ barebox-environment {
&usdhc3 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
diff --git a/arch/arm/dts/imx6qdl-phytec-mira.dtsi b/arch/arm/dts/imx6qdl-phytec-mira.dtsi
index bcda7dd82a9c..d1fd7dfaf080 100644
--- a/arch/arm/dts/imx6qdl-phytec-mira.dtsi
+++ b/arch/arm/dts/imx6qdl-phytec-mira.dtsi
@@ -27,7 +27,7 @@ &pwm1 {
&usdhc1 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
diff --git a/arch/arm/dts/imx6qdl-phytec-phycard-som.dtsi b/arch/arm/dts/imx6qdl-phytec-phycard-som.dtsi
index 6cdf82e2cdbf..361c106034cb 100644
--- a/arch/arm/dts/imx6qdl-phytec-phycard-som.dtsi
+++ b/arch/arm/dts/imx6qdl-phytec-phycard-som.dtsi
@@ -157,7 +157,7 @@ &usdhc3 {
status = "disabled";
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
diff --git a/arch/arm/dts/imx6qdl-phytec-phycore-som.dtsi b/arch/arm/dts/imx6qdl-phytec-phycore-som.dtsi
index f244a82270f0..7b77a22ec31e 100644
--- a/arch/arm/dts/imx6qdl-phytec-phycore-som.dtsi
+++ b/arch/arm/dts/imx6qdl-phytec-phycore-som.dtsi
@@ -109,7 +109,7 @@ partition@140000 {
&usdhc4 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
diff --git a/arch/arm/dts/imx6qdl-phytec-state.dtsi b/arch/arm/dts/imx6qdl-phytec-state.dtsi
index 1522b92be15b..5423c3d4f20f 100644
--- a/arch/arm/dts/imx6qdl-phytec-state.dtsi
+++ b/arch/arm/dts/imx6qdl-phytec-state.dtsi
@@ -71,7 +71,7 @@ ok {
&eeprom {
status = "okay";
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#size-cells = <1>;
#address-cells = <1>;
backend_update_eeprom: state@0 {
diff --git a/arch/arm/dts/imx6qdl-zii-rdu2.dtsi b/arch/arm/dts/imx6qdl-zii-rdu2.dtsi
index a01962d0e689..402d2f8b9d2d 100644
--- a/arch/arm/dts/imx6qdl-zii-rdu2.dtsi
+++ b/arch/arm/dts/imx6qdl-zii-rdu2.dtsi
@@ -247,7 +247,7 @@ &usbotg {
&usdhc4 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
diff --git a/arch/arm/dts/imx6ul-liteboard.dts b/arch/arm/dts/imx6ul-liteboard.dts
index f9ea9fc0234d..2b9a817a955c 100644
--- a/arch/arm/dts/imx6ul-liteboard.dts
+++ b/arch/arm/dts/imx6ul-liteboard.dts
@@ -62,7 +62,7 @@ environment-emmc {
&usdhc1 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
@@ -80,7 +80,7 @@ environment_sd: partition@e0000 {
&usdhc2 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
diff --git a/arch/arm/dts/imx6ul-phytec-state.dtsi b/arch/arm/dts/imx6ul-phytec-state.dtsi
index d0cad1b5166a..bdaf88082517 100644
--- a/arch/arm/dts/imx6ul-phytec-state.dtsi
+++ b/arch/arm/dts/imx6ul-phytec-state.dtsi
@@ -69,7 +69,7 @@ ok@18 {
&eeprom {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#size-cells = <1>;
#address-cells = <1>;
backend_update_eeprom: state@0 {
diff --git a/arch/arm/dts/imx6ul-tqma6ul-common.dtsi b/arch/arm/dts/imx6ul-tqma6ul-common.dtsi
index 5ff318fcfc58..a22b842a2881 100644
--- a/arch/arm/dts/imx6ul-tqma6ul-common.dtsi
+++ b/arch/arm/dts/imx6ul-tqma6ul-common.dtsi
@@ -23,7 +23,7 @@ environment-emmc {
&usdhc2 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
@@ -36,7 +36,7 @@ environment_emmc: partition@e0000 {
&usdhc1 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
diff --git a/arch/arm/dts/imx6ul-webasto-ccbv2.dts b/arch/arm/dts/imx6ul-webasto-ccbv2.dts
index 198088bd44b0..517d1a343b51 100644
--- a/arch/arm/dts/imx6ul-webasto-ccbv2.dts
+++ b/arch/arm/dts/imx6ul-webasto-ccbv2.dts
@@ -86,7 +86,7 @@ last_chosen@10 {
&usdhc2 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
diff --git a/arch/arm/dts/imx6ul-webasto-marvel.dts b/arch/arm/dts/imx6ul-webasto-marvel.dts
index 7b5641afbc94..7571923b5551 100644
--- a/arch/arm/dts/imx6ul-webasto-marvel.dts
+++ b/arch/arm/dts/imx6ul-webasto-marvel.dts
@@ -550,7 +550,7 @@ &usdhc2 {
status = "okay";
/* bootloader specific */
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
diff --git a/arch/arm/dts/imx7d-ac-sxb.dtsi b/arch/arm/dts/imx7d-ac-sxb.dtsi
index 7154508d071d..5483dbe11c13 100644
--- a/arch/arm/dts/imx7d-ac-sxb.dtsi
+++ b/arch/arm/dts/imx7d-ac-sxb.dtsi
@@ -42,7 +42,7 @@ &usdhc1 {
status = "okay";
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
@@ -63,7 +63,7 @@ &usdhc3 {
status = "okay";
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
diff --git a/arch/arm/dts/imx7d-flex-concentrator-mfg.dts b/arch/arm/dts/imx7d-flex-concentrator-mfg.dts
index 4b150ba48cd0..3b176587ee5f 100644
--- a/arch/arm/dts/imx7d-flex-concentrator-mfg.dts
+++ b/arch/arm/dts/imx7d-flex-concentrator-mfg.dts
@@ -79,7 +79,7 @@ last_chosen@10 {
/* eMMC */
&usdhc3 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
diff --git a/arch/arm/dts/imx7d-gome-e143_01.dts b/arch/arm/dts/imx7d-gome-e143_01.dts
index ed7f3cfa216b..88034609e4e3 100644
--- a/arch/arm/dts/imx7d-gome-e143_01.dts
+++ b/arch/arm/dts/imx7d-gome-e143_01.dts
@@ -83,7 +83,7 @@ &usdhc3 {
partitions {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
/** original storage layout:
offset size label
diff --git a/arch/arm/dts/imx7d-phyboard-zeta.dts b/arch/arm/dts/imx7d-phyboard-zeta.dts
index 211c72604edb..0725a186ec6b 100644
--- a/arch/arm/dts/imx7d-phyboard-zeta.dts
+++ b/arch/arm/dts/imx7d-phyboard-zeta.dts
@@ -38,7 +38,7 @@ &usdhc3 {
status = "okay";
partitions-boot1 {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
diff --git a/arch/arm/dts/imx7s-warp.dts b/arch/arm/dts/imx7s-warp.dts
index d84b9ed4342b..e6a99cae4f95 100644
--- a/arch/arm/dts/imx7s-warp.dts
+++ b/arch/arm/dts/imx7s-warp.dts
@@ -22,7 +22,7 @@ environment {
&usdhc3 {
partitions-boot1 {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
diff --git a/arch/arm/dts/imx8mm-innocomm-wb15-evk.dts b/arch/arm/dts/imx8mm-innocomm-wb15-evk.dts
index ac7e5a1cb193..85f346884280 100644
--- a/arch/arm/dts/imx8mm-innocomm-wb15-evk.dts
+++ b/arch/arm/dts/imx8mm-innocomm-wb15-evk.dts
@@ -25,7 +25,7 @@ &ocotp {
&usdhc1 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
@@ -43,7 +43,7 @@ env_sd1: partition@100000 {
&usdhc2 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
diff --git a/arch/arm/dts/imx8mm-phyboard-polis-rdk.dts b/arch/arm/dts/imx8mm-phyboard-polis-rdk.dts
index 0a6183f092dc..3d1c74562ea8 100644
--- a/arch/arm/dts/imx8mm-phyboard-polis-rdk.dts
+++ b/arch/arm/dts/imx8mm-phyboard-polis-rdk.dts
@@ -96,7 +96,7 @@ &ocotp {
&usdhc2 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
@@ -114,7 +114,7 @@ env_sd2: partition@100000 {
&usdhc3 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
diff --git a/arch/arm/dts/imx8mp-debix-model-a.dts b/arch/arm/dts/imx8mp-debix-model-a.dts
index a58b40ec8652..4bb5ebf106dd 100644
--- a/arch/arm/dts/imx8mp-debix-model-a.dts
+++ b/arch/arm/dts/imx8mp-debix-model-a.dts
@@ -33,7 +33,7 @@ environment-emmc {
&usdhc2 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
@@ -51,7 +51,7 @@ env_sd: partition@100000 {
&usdhc3 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
diff --git a/arch/arm/dts/imx8mp-debix-som-a-bmb-08.dts b/arch/arm/dts/imx8mp-debix-som-a-bmb-08.dts
index 88ad897f3429..5f1c76d435b9 100644
--- a/arch/arm/dts/imx8mp-debix-som-a-bmb-08.dts
+++ b/arch/arm/dts/imx8mp-debix-som-a-bmb-08.dts
@@ -28,7 +28,7 @@ &usb_hub_2_x {
&usdhc2 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
@@ -46,7 +46,7 @@ env_sd: partition@100000 {
&usdhc3 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
diff --git a/arch/arm/dts/imx8mp-karo-qsxp-ml81.dtsi b/arch/arm/dts/imx8mp-karo-qsxp-ml81.dtsi
index e47623a1a5ef..aac264daab71 100644
--- a/arch/arm/dts/imx8mp-karo-qsxp-ml81.dtsi
+++ b/arch/arm/dts/imx8mp-karo-qsxp-ml81.dtsi
@@ -95,7 +95,7 @@ &usdhc2 {
&usdhc3 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
diff --git a/arch/arm/dts/imx8mp-var-dart-dt8mcustomboard.dts b/arch/arm/dts/imx8mp-var-dart-dt8mcustomboard.dts
index f11218c904f5..02bcb6ec29a2 100644
--- a/arch/arm/dts/imx8mp-var-dart-dt8mcustomboard.dts
+++ b/arch/arm/dts/imx8mp-var-dart-dt8mcustomboard.dts
@@ -366,7 +366,7 @@ &usdhc2 {
status = "okay";
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#size-cells = <2>;
#address-cells = <1>;
diff --git a/arch/arm/dts/rk3566-cm3-io.dts b/arch/arm/dts/rk3566-cm3-io.dts
index 39cef5e79799..17033edb78e2 100644
--- a/arch/arm/dts/rk3566-cm3-io.dts
+++ b/arch/arm/dts/rk3566-cm3-io.dts
@@ -25,7 +25,7 @@ &sdhci {
no-sd;
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
@@ -38,7 +38,7 @@ environment_emmc: partition@408000 {
&sdmmc0 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
diff --git a/arch/arm/dts/rk3566-pinetab2.dtsi b/arch/arm/dts/rk3566-pinetab2.dtsi
index 47ac12384d37..112acffc36b4 100644
--- a/arch/arm/dts/rk3566-pinetab2.dtsi
+++ b/arch/arm/dts/rk3566-pinetab2.dtsi
@@ -21,7 +21,7 @@ environment-emmc {
&sdhci {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
@@ -34,7 +34,7 @@ environment_emmc: partition@408000 {
&sdmmc0 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
diff --git a/arch/arm/dts/rk3568-bpi-r2-pro.dts b/arch/arm/dts/rk3568-bpi-r2-pro.dts
index 58a2bc442fdf..39ad25a7632b 100644
--- a/arch/arm/dts/rk3568-bpi-r2-pro.dts
+++ b/arch/arm/dts/rk3568-bpi-r2-pro.dts
@@ -31,7 +31,7 @@ &sdhci {
no-sd;
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
@@ -44,7 +44,7 @@ environment_emmc: partition@408000 {
&sdmmc0 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
diff --git a/arch/arm/dts/rk3568-evb1-v10.dts b/arch/arm/dts/rk3568-evb1-v10.dts
index 82186ff86ead..c9466d9caf6c 100644
--- a/arch/arm/dts/rk3568-evb1-v10.dts
+++ b/arch/arm/dts/rk3568-evb1-v10.dts
@@ -34,7 +34,7 @@ &sdhci {
no-sd;
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
@@ -47,7 +47,7 @@ environment_emmc: partition@408000 {
&sdmmc0 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
diff --git a/arch/arm/dts/rk3568-mecsbc.dts b/arch/arm/dts/rk3568-mecsbc.dts
index c9bab7f36e2f..d63386012377 100644
--- a/arch/arm/dts/rk3568-mecsbc.dts
+++ b/arch/arm/dts/rk3568-mecsbc.dts
@@ -104,7 +104,7 @@ &sdhci {
no-sd;
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
@@ -124,7 +124,7 @@ state_backend_emmc: partition@7c0000 {
&sdmmc0 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
diff --git a/arch/arm/dts/rk3568-rock-3a.dts b/arch/arm/dts/rk3568-rock-3a.dts
index 25a0c05737d0..927eb8eb63ae 100644
--- a/arch/arm/dts/rk3568-rock-3a.dts
+++ b/arch/arm/dts/rk3568-rock-3a.dts
@@ -30,7 +30,7 @@ &sdhci {
no-sd;
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
@@ -43,7 +43,7 @@ environment_emmc: partition@408000 {
&sdmmc0 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
diff --git a/arch/arm/dts/rk3568-wolfvision-pf5.dts b/arch/arm/dts/rk3568-wolfvision-pf5.dts
index e214842ee40b..9ce24dfc6236 100644
--- a/arch/arm/dts/rk3568-wolfvision-pf5.dts
+++ b/arch/arm/dts/rk3568-wolfvision-pf5.dts
@@ -31,7 +31,7 @@ memory@a00000 {
&sdhci {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
diff --git a/arch/arm/dts/rk3588-orangepi-5-plus.dts b/arch/arm/dts/rk3588-orangepi-5-plus.dts
index 8c765a853c6e..8bafbbd7f2bf 100644
--- a/arch/arm/dts/rk3588-orangepi-5-plus.dts
+++ b/arch/arm/dts/rk3588-orangepi-5-plus.dts
@@ -23,7 +23,7 @@ environment-sd {
&sdhci {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
@@ -36,7 +36,7 @@ environment_emmc: partition@408000 {
&sdmmc {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
diff --git a/arch/arm/dts/rk3588-rock-5b.dts b/arch/arm/dts/rk3588-rock-5b.dts
index 0af544287022..67fc39557400 100644
--- a/arch/arm/dts/rk3588-rock-5b.dts
+++ b/arch/arm/dts/rk3588-rock-5b.dts
@@ -29,7 +29,7 @@ environment-sd {
&sdhci {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
@@ -42,7 +42,7 @@ environment_emmc: partition@408000 {
&sdmmc {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#address-cells = <2>;
#size-cells = <2>;
diff --git a/arch/arm/dts/socfpga_arria10_achilles.dts b/arch/arm/dts/socfpga_arria10_achilles.dts
index fbfdc9a8822c..c36912f30eac 100644
--- a/arch/arm/dts/socfpga_arria10_achilles.dts
+++ b/arch/arm/dts/socfpga_arria10_achilles.dts
@@ -201,7 +201,7 @@ &mmc {
status = "okay";
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#size-cells = <1>;
#address-cells = <1>;
diff --git a/arch/arm/dts/socfpga_arria10_mercury_aa1.dts b/arch/arm/dts/socfpga_arria10_mercury_aa1.dts
index 84d4534cc629..b3cd37ed393d 100644
--- a/arch/arm/dts/socfpga_arria10_mercury_aa1.dts
+++ b/arch/arm/dts/socfpga_arria10_mercury_aa1.dts
@@ -44,7 +44,7 @@ &mmc {
no-sd;
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#size-cells = <1>;
#address-cells = <1>;
diff --git a/arch/arm/dts/state-example.dtsi b/arch/arm/dts/state-example.dtsi
index 4572168336ae..bd3fe2b1d4df 100644
--- a/arch/arm/dts/state-example.dtsi
+++ b/arch/arm/dts/state-example.dtsi
@@ -106,7 +106,7 @@ backend_state_nand: partition@f00000 {
&som_eeprom { /* On I2C1 */
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#size-cells = <1>;
#address-cells = <1>;
backend_state_eeprom: state@400 {
@@ -118,7 +118,7 @@ backend_state_eeprom: state@400 {
&usdhc2 {
partitions {
- compatible = "fixed-partitions";
+ compatible = "barebox,fixed-partitions";
#size-cells = <1>;
#address-cells = <1>;
backend_state_usdhc: state@0x80000 {
--
2.39.5
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 5/6] of: partition: refactor of_partition_binding checks into switch
2025-02-17 18:08 [PATCH 0/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode Ahmad Fatoum
` (3 preceding siblings ...)
2025-02-17 18:08 ` [PATCH 4/6] ARM: dts: prefix all non-MTD fixed-partitions with barebox, Ahmad Fatoum
@ 2025-02-17 18:08 ` Ahmad Fatoum
2025-02-17 18:08 ` [PATCH 6/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode Ahmad Fatoum
` (2 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Ahmad Fatoum @ 2025-02-17 18:08 UTC (permalink / raw)
To: barebox; +Cc: Ahmad Fatoum
We are going to add a new fixup mode to enum of_binding_name in the next
commit. For readability's sake, refactor the existing code to make it
easier to extend.
No functional change.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
drivers/of/partition.c | 36 +++++++++++++++++++++---------------
1 file changed, 21 insertions(+), 15 deletions(-)
diff --git a/drivers/of/partition.c b/drivers/of/partition.c
index 4f966d900f1f..fa4847e20a2b 100644
--- a/drivers/of/partition.c
+++ b/drivers/of/partition.c
@@ -18,6 +18,14 @@
static unsigned int of_partition_binding;
+/**
+ * enum of_binding_name - Name of binding to use for OF partition fixup
+ * @MTD_OF_BINDING_NEW: Fix up new-style partition bindings
+ * with compatible = "fixed-partitions" container
+ * @MTD_OF_BINDING_LEGACY: Fix up legacy partition bindings
+ * directly into the parent node without container
+ * @MTD_OF_BINDING_DONTTOUCH: Don't touch partition nodes at all - no fixups
+ */
enum of_binding_name {
MTD_OF_BINDING_NEW,
MTD_OF_BINDING_LEGACY,
@@ -185,28 +193,26 @@ int of_fixup_partitions(struct device_node *np, struct cdev *cdev)
n_cells = 1;
partnode = of_get_child_by_name(np, "partitions");
- if (partnode) {
- if (of_partition_binding == MTD_OF_BINDING_LEGACY) {
- of_delete_node(partnode);
- partnode = np;
- }
- delete_subnodes(partnode);
- } else {
- delete_subnodes(np);
- if (of_partition_binding == MTD_OF_BINDING_LEGACY)
- partnode = np;
- else
- partnode = of_new_node(np, "partitions");
- }
-
- if (of_partition_binding == MTD_OF_BINDING_NEW) {
+ switch (of_partition_binding) {
+ case MTD_OF_BINDING_LEGACY:
+ of_delete_node(partnode);
+ partnode = np;
+ break;
+ case MTD_OF_BINDING_NEW:
+ partnode = partnode ?: of_new_node(np, "partitions");
ret = of_property_write_string(partnode, "compatible",
"fixed-partitions");
if (ret)
return ret;
+ break;
}
+ if (partnode)
+ delete_subnodes(partnode);
+ else
+ delete_subnodes(np);
+
ret = of_property_write_u32(partnode, "#size-cells", n_cells);
if (ret)
return ret;
--
2.39.5
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 6/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode
2025-02-17 18:08 [PATCH 0/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode Ahmad Fatoum
` (4 preceding siblings ...)
2025-02-17 18:08 ` [PATCH 5/6] of: partition: refactor of_partition_binding checks into switch Ahmad Fatoum
@ 2025-02-17 18:08 ` Ahmad Fatoum
2025-02-17 19:25 ` [PATCH 0/6] " Marco Felsch
2025-02-20 8:26 ` Sascha Hauer
7 siblings, 0 replies; 10+ messages in thread
From: Ahmad Fatoum @ 2025-02-17 18:08 UTC (permalink / raw)
To: barebox; +Cc: Ahmad Fatoum
Linux supports OF partitions for MMC since Linux v6.13-rc1 with commit
2e3a191e89f9 ("block: add support for partition table defined in OF"),
but in a manner incompatible to barebox:
If CONFIG_OF_PARTITION is enabled and a fixed-partitions node exists,
the EFI/MBR partition table is completely ignored.
In barebox, they are allowed to coexist, as long as they don't conflict.
To resolve this conflict, we change the default fixup scheme to an
"adaptive" scheme that uses new-style fixups, but with the compatible
depending on the parent device:
- If the partitions node in the kernel DT already has a compatible,
use the same compatible as not to clobber new Linux OF partitions,
which would be parsed by CONFIG_OF_PARTITION
- If the device is an MTD device, use "fixed-partitions", so Linux
sees the same partitions and to maintain backwards compatibility
- For everything else (i.e. EEPROMs and SD/eMMC), use
"barebox,fixed-partitions"
This scheme is fully backwards-compatible with older kernels and
userspace:
- barebox,fixed-partitions replaces fixed-partitions only
for nodes that Linux didn't parse before anyway
- fixed-partitions will continue to be emitted for MTD,
which Linux did parse before
- barebox-state doesn't actually look for the "fixed-partitions"
compatible to find out if a patition is in a container.
Instead it checks the parent node name to be equal
to "partitions"...
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
.../devicetree/bindings/mtd/partition.rst | 27 +++++++++++++++++--
drivers/of/partition.c | 22 +++++++++++----
2 files changed, 42 insertions(+), 7 deletions(-)
diff --git a/Documentation/devicetree/bindings/mtd/partition.rst b/Documentation/devicetree/bindings/mtd/partition.rst
index fb228c63a344..33b8a207f177 100644
--- a/Documentation/devicetree/bindings/mtd/partition.rst
+++ b/Documentation/devicetree/bindings/mtd/partition.rst
@@ -3,9 +3,16 @@
Representing flash partitions in devicetree
===========================================
-In addition to the upstream binding, another property is added:
+In addition to the upstream binding, barebox supports parsing OF partitions
+for EEPROMs and for SD/MMC as well. SD/MMC OF partitions in barebox are
+allowed to co-exist with GPT/MBR partitions as long as they don't overlap.
-Optional properties:
+This is different from the Linux behavior where OF partitions have precedence
+over GPT/MBR. For this reason, barebox also accepts the compatible
+``barebox,fixed-partitions``, which is handled inside barebox identically to
+``fixed-partitions``, but is ignored by Linux.
+
+Additionally, barebox supports an extra optional property:
* ``partuuid``: The global partition UUID for this partition.
For GPT partitions, the partuuid is the 16-byte GPT Partition UUID (e.g.
@@ -26,6 +33,9 @@ the partition table node is named appropriately:
``boot0-partitions`` and ``boot1-partitions`` are deprecated. Use ``partitions-boot1``
and ``partitions-boot2`` instead which is supported under Linux as well.
+In addition to the upstream ``fixed-partitions`` compatible binding,
+barebox also supports a ``barebox,fixed-partitions`` binding.
+
Examples:
.. code-block:: none
@@ -54,3 +64,16 @@ Examples:
};
};
};
+
+ sd {
+ partitions {
+ compatible = "barebox,fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ barebox-env@1000 {
+ label = "barebox-environment";
+ reg = <0x1000 0x20000>;
+ };
+ };
+ };
diff --git a/drivers/of/partition.c b/drivers/of/partition.c
index fa4847e20a2b..a0890bfcdef0 100644
--- a/drivers/of/partition.c
+++ b/drivers/of/partition.c
@@ -16,8 +16,6 @@
#include <init.h>
#include <globalvar.h>
-static unsigned int of_partition_binding;
-
/**
* enum of_binding_name - Name of binding to use for OF partition fixup
* @MTD_OF_BINDING_NEW: Fix up new-style partition bindings
@@ -25,13 +23,20 @@ static unsigned int of_partition_binding;
* @MTD_OF_BINDING_LEGACY: Fix up legacy partition bindings
* directly into the parent node without container
* @MTD_OF_BINDING_DONTTOUCH: Don't touch partition nodes at all - no fixups
+ * @MTD_OF_BINDING_ADAPTIVE: Do a new-style fixup with compatible being either:
+ * - the same compatible as in the kernel DT if available
+ * - "fixed-partitions" for MTD
+ * - "barebox,fixed-partitions" otherwise
*/
enum of_binding_name {
MTD_OF_BINDING_NEW,
MTD_OF_BINDING_LEGACY,
MTD_OF_BINDING_DONTTOUCH,
+ MTD_OF_BINDING_ADAPTIVE,
};
+static unsigned int of_partition_binding = MTD_OF_BINDING_ADAPTIVE;
+
struct cdev *of_parse_partition(struct cdev *cdev, struct device_node *node)
{
struct devfs_partition partinfo = {};
@@ -172,6 +177,7 @@ int of_fixup_partitions(struct device_node *np, struct cdev *cdev)
{
struct cdev *partcdev;
struct device_node *part, *partnode;
+ const char *compat = "fixed-partitions";
int ret;
int n_cells, n_parts = 0;
@@ -199,10 +205,16 @@ int of_fixup_partitions(struct device_node *np, struct cdev *cdev)
of_delete_node(partnode);
partnode = np;
break;
+ case MTD_OF_BINDING_ADAPTIVE:
+ /* If there's already a compatible property, leave it as-is */
+ if (of_property_present(partnode, "compatible"))
+ break;
+ if (!cdev->mtd)
+ compat = "barebox,fixed-partitions";
+ fallthrough;
case MTD_OF_BINDING_NEW:
partnode = partnode ?: of_new_node(np, "partitions");
- ret = of_property_write_string(partnode, "compatible",
- "fixed-partitions");
+ ret = of_property_write_string(partnode, "compatible", compat);
if (ret)
return ret;
break;
@@ -302,7 +314,7 @@ int of_partitions_register_fixup(struct cdev *cdev)
}
static const char *of_binding_names[] = {
- "new", "legacy", "donttouch"
+ "new", "legacy", "donttouch", "adaptive"
};
static int of_partition_init(void)
--
2.39.5
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode
2025-02-17 18:08 [PATCH 0/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode Ahmad Fatoum
` (5 preceding siblings ...)
2025-02-17 18:08 ` [PATCH 6/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode Ahmad Fatoum
@ 2025-02-17 19:25 ` Marco Felsch
2025-02-17 19:57 ` Ahmad Fatoum
2025-02-20 8:26 ` Sascha Hauer
7 siblings, 1 reply; 10+ messages in thread
From: Marco Felsch @ 2025-02-17 19:25 UTC (permalink / raw)
To: Ahmad Fatoum; +Cc: barebox
Hi Ahmad,
thanks for working on this!
On 25-02-17, Ahmad Fatoum wrote:
> barebox has for many years supported a superset of the upstream OF
> partitions binding by parsing partitions out of SD/eMMC and EEPROM
> in addition to MTD.
>
> Unfortunately, we didn't upstream our binding and a different binding
> went upstream into Linux v6.13-rc1 along with Linux commit
> 2e3a191e89f9 ("block: add support for partition table defined in OF").
>
> Since then, if CONFIG_OF_PARTITION, which is disabled by default, is
> enabled, Linux will ignore any GPT/MBR if an SD/eMMC node has a
> fixed-partitions compatible subnode.
>
> This is different from the barebox behavior, which allows both OF
> partitions and GPT/MBR to co-exist as long as they don't conflict.
>
> As many barebox boards:
>
> - Place the environment in non-partitioned space prior to the first
> partition
>
> - Fixup all fixed-partitions into the kernel device tree by default
Could we add a warning/notice that the board should be converted to make
use of the barebox GPT parttype-uuid? It's 2025 and IMHO there is no
reason for not using the GPT with the barebox state part-type UUID in
place. This is of course not related to this patchset.
Regards,
Marco
> this can result in breakage if a newer kernel is booted with
> CONFIG_OF_PARTITION enabled.
>
> To resolve this, this series introduces the barebox,fixed-partitions
> compatible and uses that in Linux device tree fixups for SD/eMMC
> by default.
>
> Ahmad Fatoum (6):
> of: factor out of_node_is_fixed_partitions check
> of: of_path: support barebox,fixed-partitions
> ARM: IMX8MP: var-dart-dt8mcustomboard.dts: use new-style partition
> binding
> ARM: dts: prefix all non-MTD fixed-partitions with barebox,
> of: partition: refactor of_partition_binding checks into switch
> of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup
> mode
>
> .../devicetree/bindings/mtd/partition.rst | 27 +++++++-
> Documentation/user/state.rst | 4 +-
> arch/arm/dts/am335x-phytec-state.dtsi | 2 +-
> .../dts/fsl-ls1046a-tqmls1046a-mbls10xxa.dts | 2 +-
> arch/arm/dts/imx50-kindle-common.dtsi | 2 +-
> arch/arm/dts/imx51-zii-rdu1.dts | 2 +-
> arch/arm/dts/imx6dl-colibri-iris.dts | 2 +-
> arch/arm/dts/imx6qdl-phytec-mira.dtsi | 2 +-
> arch/arm/dts/imx6qdl-phytec-phycard-som.dtsi | 2 +-
> arch/arm/dts/imx6qdl-phytec-phycore-som.dtsi | 2 +-
> arch/arm/dts/imx6qdl-phytec-state.dtsi | 2 +-
> arch/arm/dts/imx6qdl-zii-rdu2.dtsi | 2 +-
> arch/arm/dts/imx6ul-liteboard.dts | 4 +-
> arch/arm/dts/imx6ul-phytec-state.dtsi | 2 +-
> arch/arm/dts/imx6ul-tqma6ul-common.dtsi | 4 +-
> arch/arm/dts/imx6ul-webasto-ccbv2.dts | 2 +-
> arch/arm/dts/imx6ul-webasto-marvel.dts | 2 +-
> arch/arm/dts/imx7d-ac-sxb.dtsi | 4 +-
> arch/arm/dts/imx7d-flex-concentrator-mfg.dts | 2 +-
> arch/arm/dts/imx7d-gome-e143_01.dts | 2 +-
> arch/arm/dts/imx7d-phyboard-zeta.dts | 2 +-
> arch/arm/dts/imx7s-warp.dts | 2 +-
> arch/arm/dts/imx8mm-innocomm-wb15-evk.dts | 4 +-
> arch/arm/dts/imx8mm-phyboard-polis-rdk.dts | 4 +-
> arch/arm/dts/imx8mp-debix-model-a.dts | 4 +-
> arch/arm/dts/imx8mp-debix-som-a-bmb-08.dts | 4 +-
> arch/arm/dts/imx8mp-karo-qsxp-ml81.dtsi | 2 +-
> .../dts/imx8mp-var-dart-dt8mcustomboard.dts | 25 ++++----
> arch/arm/dts/rk3566-cm3-io.dts | 4 +-
> arch/arm/dts/rk3566-pinetab2.dtsi | 4 +-
> arch/arm/dts/rk3568-bpi-r2-pro.dts | 4 +-
> arch/arm/dts/rk3568-evb1-v10.dts | 4 +-
> arch/arm/dts/rk3568-mecsbc.dts | 4 +-
> arch/arm/dts/rk3568-rock-3a.dts | 4 +-
> arch/arm/dts/rk3568-wolfvision-pf5.dts | 2 +-
> arch/arm/dts/rk3588-orangepi-5-plus.dts | 4 +-
> arch/arm/dts/rk3588-rock-5b.dts | 4 +-
> arch/arm/dts/socfpga_arria10_achilles.dts | 2 +-
> arch/arm/dts/socfpga_arria10_mercury_aa1.dts | 2 +-
> arch/arm/dts/state-example.dtsi | 4 +-
> drivers/of/base.c | 6 +-
> drivers/of/of_path.c | 9 ++-
> drivers/of/partition.c | 62 ++++++++++++-------
> include/of.h | 6 ++
> 44 files changed, 149 insertions(+), 96 deletions(-)
>
> --
> 2.39.5
>
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode
2025-02-17 19:25 ` [PATCH 0/6] " Marco Felsch
@ 2025-02-17 19:57 ` Ahmad Fatoum
0 siblings, 0 replies; 10+ messages in thread
From: Ahmad Fatoum @ 2025-02-17 19:57 UTC (permalink / raw)
To: Marco Felsch; +Cc: barebox
Hi,
On 17.02.25 20:25, Marco Felsch wrote:
> Hi Ahmad,
>
> thanks for working on this!
>
> On 25-02-17, Ahmad Fatoum wrote:
>> barebox has for many years supported a superset of the upstream OF
>> partitions binding by parsing partitions out of SD/eMMC and EEPROM
>> in addition to MTD.
>>
>> Unfortunately, we didn't upstream our binding and a different binding
>> went upstream into Linux v6.13-rc1 along with Linux commit
>> 2e3a191e89f9 ("block: add support for partition table defined in OF").
>>
>> Since then, if CONFIG_OF_PARTITION, which is disabled by default, is
>> enabled, Linux will ignore any GPT/MBR if an SD/eMMC node has a
>> fixed-partitions compatible subnode.
>>
>> This is different from the barebox behavior, which allows both OF
>> partitions and GPT/MBR to co-exist as long as they don't conflict.
>>
>> As many barebox boards:
>>
>> - Place the environment in non-partitioned space prior to the first
>> partition
>>
>> - Fixup all fixed-partitions into the kernel device tree by default
>
> Could we add a warning/notice that the board should be converted to make
> use of the barebox GPT parttype-uuid? It's 2025 and IMHO there is no
> reason for not using the GPT with the barebox state part-type UUID in
> place. This is of course not related to this patchset.
There's no partition type UUID solution for barebox on EFI systems yet
and for many systems in the field, switching to partition type UUID
would mean a migration step, where a rollback to a system with an old
barebox-state version is not possible...
Cheers,
Ahmad
>
> Regards,
> Marco
>
>> this can result in breakage if a newer kernel is booted with
>> CONFIG_OF_PARTITION enabled.
>>
>> To resolve this, this series introduces the barebox,fixed-partitions
>> compatible and uses that in Linux device tree fixups for SD/eMMC
>> by default.
>>
>> Ahmad Fatoum (6):
>> of: factor out of_node_is_fixed_partitions check
>> of: of_path: support barebox,fixed-partitions
>> ARM: IMX8MP: var-dart-dt8mcustomboard.dts: use new-style partition
>> binding
>> ARM: dts: prefix all non-MTD fixed-partitions with barebox,
>> of: partition: refactor of_partition_binding checks into switch
>> of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup
>> mode
>>
>> .../devicetree/bindings/mtd/partition.rst | 27 +++++++-
>> Documentation/user/state.rst | 4 +-
>> arch/arm/dts/am335x-phytec-state.dtsi | 2 +-
>> .../dts/fsl-ls1046a-tqmls1046a-mbls10xxa.dts | 2 +-
>> arch/arm/dts/imx50-kindle-common.dtsi | 2 +-
>> arch/arm/dts/imx51-zii-rdu1.dts | 2 +-
>> arch/arm/dts/imx6dl-colibri-iris.dts | 2 +-
>> arch/arm/dts/imx6qdl-phytec-mira.dtsi | 2 +-
>> arch/arm/dts/imx6qdl-phytec-phycard-som.dtsi | 2 +-
>> arch/arm/dts/imx6qdl-phytec-phycore-som.dtsi | 2 +-
>> arch/arm/dts/imx6qdl-phytec-state.dtsi | 2 +-
>> arch/arm/dts/imx6qdl-zii-rdu2.dtsi | 2 +-
>> arch/arm/dts/imx6ul-liteboard.dts | 4 +-
>> arch/arm/dts/imx6ul-phytec-state.dtsi | 2 +-
>> arch/arm/dts/imx6ul-tqma6ul-common.dtsi | 4 +-
>> arch/arm/dts/imx6ul-webasto-ccbv2.dts | 2 +-
>> arch/arm/dts/imx6ul-webasto-marvel.dts | 2 +-
>> arch/arm/dts/imx7d-ac-sxb.dtsi | 4 +-
>> arch/arm/dts/imx7d-flex-concentrator-mfg.dts | 2 +-
>> arch/arm/dts/imx7d-gome-e143_01.dts | 2 +-
>> arch/arm/dts/imx7d-phyboard-zeta.dts | 2 +-
>> arch/arm/dts/imx7s-warp.dts | 2 +-
>> arch/arm/dts/imx8mm-innocomm-wb15-evk.dts | 4 +-
>> arch/arm/dts/imx8mm-phyboard-polis-rdk.dts | 4 +-
>> arch/arm/dts/imx8mp-debix-model-a.dts | 4 +-
>> arch/arm/dts/imx8mp-debix-som-a-bmb-08.dts | 4 +-
>> arch/arm/dts/imx8mp-karo-qsxp-ml81.dtsi | 2 +-
>> .../dts/imx8mp-var-dart-dt8mcustomboard.dts | 25 ++++----
>> arch/arm/dts/rk3566-cm3-io.dts | 4 +-
>> arch/arm/dts/rk3566-pinetab2.dtsi | 4 +-
>> arch/arm/dts/rk3568-bpi-r2-pro.dts | 4 +-
>> arch/arm/dts/rk3568-evb1-v10.dts | 4 +-
>> arch/arm/dts/rk3568-mecsbc.dts | 4 +-
>> arch/arm/dts/rk3568-rock-3a.dts | 4 +-
>> arch/arm/dts/rk3568-wolfvision-pf5.dts | 2 +-
>> arch/arm/dts/rk3588-orangepi-5-plus.dts | 4 +-
>> arch/arm/dts/rk3588-rock-5b.dts | 4 +-
>> arch/arm/dts/socfpga_arria10_achilles.dts | 2 +-
>> arch/arm/dts/socfpga_arria10_mercury_aa1.dts | 2 +-
>> arch/arm/dts/state-example.dtsi | 4 +-
>> drivers/of/base.c | 6 +-
>> drivers/of/of_path.c | 9 ++-
>> drivers/of/partition.c | 62 ++++++++++++-------
>> include/of.h | 6 ++
>> 44 files changed, 149 insertions(+), 96 deletions(-)
>>
>> --
>> 2.39.5
>>
>>
>>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode
2025-02-17 18:08 [PATCH 0/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode Ahmad Fatoum
` (6 preceding siblings ...)
2025-02-17 19:25 ` [PATCH 0/6] " Marco Felsch
@ 2025-02-20 8:26 ` Sascha Hauer
7 siblings, 0 replies; 10+ messages in thread
From: Sascha Hauer @ 2025-02-20 8:26 UTC (permalink / raw)
To: barebox, Ahmad Fatoum
On Mon, 17 Feb 2025 19:08:27 +0100, Ahmad Fatoum wrote:
> barebox has for many years supported a superset of the upstream OF
> partitions binding by parsing partitions out of SD/eMMC and EEPROM
> in addition to MTD.
>
> Unfortunately, we didn't upstream our binding and a different binding
> went upstream into Linux v6.13-rc1 along with Linux commit
> 2e3a191e89f9 ("block: add support for partition table defined in OF").
>
> [...]
Applied, thanks!
[1/6] of: factor out of_node_is_fixed_partitions check
https://git.pengutronix.de/cgit/barebox/commit/?id=45c5c9c807e4 (link may not be stable)
[2/6] of: of_path: support barebox,fixed-partitions
https://git.pengutronix.de/cgit/barebox/commit/?id=deb18a4be9cd (link may not be stable)
[3/6] ARM: IMX8MP: var-dart-dt8mcustomboard.dts: use new-style partition binding
https://git.pengutronix.de/cgit/barebox/commit/?id=c19cbce92960 (link may not be stable)
[4/6] ARM: dts: prefix all non-MTD fixed-partitions with barebox,
https://git.pengutronix.de/cgit/barebox/commit/?id=cf4cf9997a3b (link may not be stable)
[5/6] of: partition: refactor of_partition_binding checks into switch
https://git.pengutronix.de/cgit/barebox/commit/?id=162884adec56 (link may not be stable)
[6/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode
https://git.pengutronix.de/cgit/barebox/commit/?id=f0d91d7ba6cb (link may not be stable)
Best regards,
--
Sascha Hauer <s.hauer@pengutronix.de>
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-02-20 8:27 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-17 18:08 [PATCH 0/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode Ahmad Fatoum
2025-02-17 18:08 ` [PATCH 1/6] of: factor out of_node_is_fixed_partitions check Ahmad Fatoum
2025-02-17 18:08 ` [PATCH 2/6] of: of_path: support barebox,fixed-partitions Ahmad Fatoum
2025-02-17 18:08 ` [PATCH 3/6] ARM: IMX8MP: var-dart-dt8mcustomboard.dts: use new-style partition binding Ahmad Fatoum
2025-02-17 18:08 ` [PATCH 4/6] ARM: dts: prefix all non-MTD fixed-partitions with barebox, Ahmad Fatoum
2025-02-17 18:08 ` [PATCH 5/6] of: partition: refactor of_partition_binding checks into switch Ahmad Fatoum
2025-02-17 18:08 ` [PATCH 6/6] of: partition: add Linux CONFIG_OF_PARTITION-compatible adaptive fixup mode Ahmad Fatoum
2025-02-17 19:25 ` [PATCH 0/6] " Marco Felsch
2025-02-17 19:57 ` Ahmad Fatoum
2025-02-20 8:26 ` Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox