mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
doc: dt: mtd: partitions: add compatible property to "partitions" node
As noted here [1], there are potentially future conflicts if we try to
use MTD's "partitions" subnode to describe anything besides just the
fixed-in-the-device-tree partitions currently described in this
document. Particularly, there was a proposal to use this node for the
AFS parser too.
It can pose a (small) problem to try to differentiate the following
nodes:
// using binding as currently specified
partitions {
#address-cells = <x>;
#size-cells = <y>;
partition@0 {
...;
};
};
and
// proposed future binding
partitions {
compatible = "arm,arm-flash-structure";
};
It's especially difficult if other uses of this node start having
subnodes.
So, since the "partitions" node is new in v4.4, let's fixup the binding
before release so that it requires a compatible property, so it's much
clearer to distinguish. e.g.:
// proposed
partitions {
compatible = "fixed-partitions";
#address-cells = <x>;
#size-cells = <y>;
partition@0 {
...;
};
};
[1] Subject: "mtd: create a partition type device tree binding"
http://lkml.kernel.org/g/20151113220039.GA74382@google.com
http://lists.infradead.org/pipermail/linux-mtd/2015-November/063355.html
http://lists.infradead.org/pipermail/linux-mtd/2015-November/063364.html
Cc: Michal Suchanek <hramrach@gmail.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Acked-by: Rob Herring <robh@kernel.org>
This commit is contained in:
@@ -6,7 +6,9 @@ used for what purposes, but which don't use an on-flash partition table such
|
|||||||
as RedBoot.
|
as RedBoot.
|
||||||
|
|
||||||
The partition table should be a subnode of the mtd node and should be named
|
The partition table should be a subnode of the mtd node and should be named
|
||||||
'partitions'. Partitions are defined in subnodes of the partitions node.
|
'partitions'. This node should have the following property:
|
||||||
|
- compatible : (required) must be "fixed-partitions"
|
||||||
|
Partitions are then defined in subnodes of the partitions node.
|
||||||
|
|
||||||
For backwards compatibility partitions as direct subnodes of the mtd device are
|
For backwards compatibility partitions as direct subnodes of the mtd device are
|
||||||
supported. This use is discouraged.
|
supported. This use is discouraged.
|
||||||
@@ -36,6 +38,7 @@ Examples:
|
|||||||
|
|
||||||
flash@0 {
|
flash@0 {
|
||||||
partitions {
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
|
|
||||||
@@ -53,6 +56,7 @@ flash@0 {
|
|||||||
|
|
||||||
flash@1 {
|
flash@1 {
|
||||||
partitions {
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <2>;
|
#size-cells = <2>;
|
||||||
|
|
||||||
@@ -66,6 +70,7 @@ flash@1 {
|
|||||||
|
|
||||||
flash@2 {
|
flash@2 {
|
||||||
partitions {
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
#address-cells = <2>;
|
#address-cells = <2>;
|
||||||
#size-cells = <2>;
|
#size-cells = <2>;
|
||||||
|
|
||||||
|
|||||||
@@ -55,6 +55,9 @@ static int parse_ofpart_partitions(struct mtd_info *master,
|
|||||||
master->name, mtd_node->full_name);
|
master->name, mtd_node->full_name);
|
||||||
ofpart_node = mtd_node;
|
ofpart_node = mtd_node;
|
||||||
dedicated = false;
|
dedicated = false;
|
||||||
|
} else if (!of_device_is_compatible(ofpart_node, "fixed-partitions")) {
|
||||||
|
/* The 'partitions' subnode might be used by another parser */
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* First count the subnodes */
|
/* First count the subnodes */
|
||||||
|
|||||||
Reference in New Issue
Block a user