[PATCH] dt-bindings: mtd-partitions: Export special values
Krzysztof Kozlowski
krzysztof.kozlowski at linaro.org
Wed Oct 25 01:20:10 PDT 2023
On 25/10/2023 07:29, Edward Chow wrote:
> There are special "offset" and "size" values defined and documented in
> linux/mtd/partitions.h:
>
> // consume as much as possible, leaving size after the end of partition.
>
> // the partition will start at the next erase block.
>
> // the partition will start where the previous one ended.
>
> (Though not explicitly, they are compared against variables in uint64_t
> in drivers/mtd/mtdpart.c, so they had better be considered as such.)
>
> // the partition will extend to the end of the master MTD device.
>
> These special values could be used to define partitions automatically
> fitting to the size of the master MTD device at runtime.
>
> However, these values used not to be exported to dt-bindings, thus
> seldom used before, since they might have been only used in numeric form,
> such as "(-1) (-3)" for MTDPART_OFS_RETAIN.
>
> Now, they are exported in dt-bindings/mtd/partitions.h as 32-bit cell
> values, so 2-cell addressed should be defined to use special offset values,
> such as "MTDPART_OFS_SPECIAL MTDPART_OFS_RETAIN" for MTDPART_OFS_RETAIN in
> linux/mtd/partitions.h. An example is added to fixed-partitions.yaml.
>
> Signed-off-by: Edward Chow <equu at openmail.cc>
> ---
> .../mtd/partitions/fixed-partitions.yaml | 29 +++++++++++++++++++
> MAINTAINERS | 2 ++
> include/dt-bindings/mtd/partitions.h | 15 ++++++++++
> 3 files changed, 46 insertions(+)
> create mode 100644 include/dt-bindings/mtd/partitions.h
>
> diff --git a/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml
> index 331e564f29dc..a939fb52ef76 100644
> --- a/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml
> +++ b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml
> @@ -164,3 +164,32 @@ examples:
> read-only;
> };
> };
> +
> + - |
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <2>;
> + #size-cells = <1>;
> +
> + partition at 0 {
> + label = "bootloader";
> + reg = <0 0x000000 0x020000>;
> + read-only;
> + };
> +
> + firmware at 1 {
> + label = "firmware";
> + /* From the end of the last partition, occupying as mush
Use Linux coding style comments.
> + * as possible, retaining 0x010000 after it,
> + * "MTDPART_OFS_SPECIAL MTDPART_OFS_NXTBLK" similar to
> + * this, but always beginning at erase block boundary. */
> + reg = <MTDPART_OFS_SPECIAL MTDPART_OFS_RETAIN 0x010000>;
> + };
> +
> + calibration at 2 {
> + compatible = "fixed-partitions";
> + label = "calibration";
> + /* Appending to the last partition, occupying 0x010000 */
> + reg = <MTDPART_OFS_SPECIAL MTDPART_OFS_APPEND 0x010000>;
And where is any user of this? Example in the bindings is not user. I
would expect that you will change at least one other DTS.
> + };
> + };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 668d1e24452d..7d6beadc8b36 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -13771,9 +13771,11 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/fixes
> T: git git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/next
> F: Documentation/devicetree/bindings/mtd/
> F: drivers/mtd/
> +F: include/dt-bindings/mtd/
> F: include/linux/mtd/
> F: include/uapi/mtd/
>
> +
Drop.
> MEMSENSING MICROSYSTEMS MSA311 DRIVER
> M: Dmitry Rokosov <ddrokosov at sberdevices.ru>
> L: linux-iio at vger.kernel.org
> diff --git a/include/dt-bindings/mtd/partitions.h b/include/dt-bindings/mtd/partitions.h
> new file mode 100644
> index 000000000000..456a54a1259a
> --- /dev/null
> +++ b/include/dt-bindings/mtd/partitions.h
> @@ -0,0 +1,15 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
Dual license, as asked by checkpatch.
Best regards,
Krzysztof
More information about the linux-mtd
mailing list