[V3,1/2] dt-bindings: mtd: partitions: support marking rootfs partition

Message ID 20221022211318.32009-1-zajec5@gmail.com
State New
Headers
Series [V3,1/2] dt-bindings: mtd: partitions: support marking rootfs partition |

Commit Message

Rafał Miłecki Oct. 22, 2022, 9:13 p.m. UTC
  From: Rafał Miłecki <rafal@milecki.pl>

Linux needs to know what to use as root device. On embedded devices with
flash the only common way to specify that is cmdline & root= parameter.

That solution works with U-Boot which is Linux & cmdline aware but isn't
available with all market bootloaders. Also that method is fragile:
1. Requires specific probing order on multi-flash devices
2. Uses hardcoded partitions indexes

A lot of devices use different partitioning methods. It may be
"fixed-partitions" or some dynamic partitioning (e.g. based on parts
table). For such cases allow "linux,rootfs" property to mark correct
flash partition.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
V2: Use "linux,rootfs" as more accurate. Thanks Rob.
---
 .../devicetree/bindings/mtd/partitions/fixed-partitions.yaml  | 1 +
 .../devicetree/bindings/mtd/partitions/partition.yaml         | 4 ++++
 2 files changed, 5 insertions(+)
  

Comments

Rob Herring Oct. 26, 2022, 7:41 p.m. UTC | #1
On Sat, 22 Oct 2022 23:13:17 +0200, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@milecki.pl>
> 
> Linux needs to know what to use as root device. On embedded devices with
> flash the only common way to specify that is cmdline & root= parameter.
> 
> That solution works with U-Boot which is Linux & cmdline aware but isn't
> available with all market bootloaders. Also that method is fragile:
> 1. Requires specific probing order on multi-flash devices
> 2. Uses hardcoded partitions indexes
> 
> A lot of devices use different partitioning methods. It may be
> "fixed-partitions" or some dynamic partitioning (e.g. based on parts
> table). For such cases allow "linux,rootfs" property to mark correct
> flash partition.
> 
> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
> ---
> V2: Use "linux,rootfs" as more accurate. Thanks Rob.
> ---
>  .../devicetree/bindings/mtd/partitions/fixed-partitions.yaml  | 1 +
>  .../devicetree/bindings/mtd/partitions/partition.yaml         | 4 ++++
>  2 files changed, 5 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>
  
Miquel Raynal Nov. 7, 2022, 4:22 p.m. UTC | #2
On Sat, 2022-10-22 at 21:13:17 UTC, =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= wrote:
> From: Rafał Miłecki <rafal@milecki.pl>
> 
> Linux needs to know what to use as root device. On embedded devices with
> flash the only common way to specify that is cmdline & root= parameter.
> 
> That solution works with U-Boot which is Linux & cmdline aware but isn't
> available with all market bootloaders. Also that method is fragile:
> 1. Requires specific probing order on multi-flash devices
> 2. Uses hardcoded partitions indexes
> 
> A lot of devices use different partitioning methods. It may be
> "fixed-partitions" or some dynamic partitioning (e.g. based on parts
> table). For such cases allow "linux,rootfs" property to mark correct
> flash partition.
> 
> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
> Reviewed-by: Rob Herring <robh@kernel.org>

Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/next, thanks.

Miquel
  

Patch

diff --git a/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml
index ad3ccd250802..d66a6e3bcb56 100644
--- a/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml
+++ b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml
@@ -84,6 +84,7 @@  examples:
         partition@0 {
             label = "filesystem";
             reg = <0x00000000 0x1 0x00000000>;
+            linux,rootfs;
         };
     };
 
diff --git a/Documentation/devicetree/bindings/mtd/partitions/partition.yaml b/Documentation/devicetree/bindings/mtd/partitions/partition.yaml
index f1a02d840b12..a25cd23a34c0 100644
--- a/Documentation/devicetree/bindings/mtd/partitions/partition.yaml
+++ b/Documentation/devicetree/bindings/mtd/partitions/partition.yaml
@@ -52,6 +52,10 @@  properties:
       immune to paired-pages corruptions
     type: boolean
 
+  linux,rootfs:
+    description: Marks partition that contains root filesystem to mount and boot
+      user space from
+
 if:
   not:
     required: [ reg ]