diff mbox series

dt-bindings: Drop kernel copy of common reserved-memory bindings

Message ID 20231013200851.347042-1-robh@kernel.org (mailing list archive)
State New, archived
Headers show
Series dt-bindings: Drop kernel copy of common reserved-memory bindings | expand

Commit Message

Rob Herring (Arm) Oct. 13, 2023, 8:08 p.m. UTC
The common reserved-memory bindings have recently been copied from the
kernel tree into dtschema. The preference is to host common, stable
bindings in dtschema. As reserved-memory is documented in the DT Spec,
it meets the criteria.

The v2023.09 version of dtschema is what contains the reserved-memory
schemas we depend on, so bump the minimum version to that. Otherwise,
references to these schemas will generate errors.

Signed-off-by: Rob Herring <robh@kernel.org>
---
 Documentation/devicetree/bindings/Makefile    |   2 +-
 .../remoteproc/renesas,rcar-rproc.yaml        |   2 +-
 .../bindings/reserved-memory/framebuffer.yaml |  52 -----
 .../reserved-memory/memory-region.yaml        |  40 ----
 .../reserved-memory/reserved-memory.txt       |   2 +-
 .../reserved-memory/reserved-memory.yaml      | 181 ------------------
 .../reserved-memory/shared-dma-pool.yaml      |  97 ----------
 .../bindings/sound/mediatek,mt8188-afe.yaml   |   2 +-
 8 files changed, 4 insertions(+), 374 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
 delete mode 100644 Documentation/devicetree/bindings/reserved-memory/memory-region.yaml
 delete mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
 delete mode 100644 Documentation/devicetree/bindings/reserved-memory/shared-dma-pool.yaml

Comments

Simon Glass Oct. 13, 2023, 9:11 p.m. UTC | #1
On Fri, 13 Oct 2023 at 13:45, Rob Herring <robh@kernel.org> wrote:
>
> The common reserved-memory bindings have recently been copied from the
> kernel tree into dtschema. The preference is to host common, stable
> bindings in dtschema. As reserved-memory is documented in the DT Spec,
> it meets the criteria.
>
> The v2023.09 version of dtschema is what contains the reserved-memory
> schemas we depend on, so bump the minimum version to that. Otherwise,
> references to these schemas will generate errors.
>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>  Documentation/devicetree/bindings/Makefile    |   2 +-
>  .../remoteproc/renesas,rcar-rproc.yaml        |   2 +-
>  .../bindings/reserved-memory/framebuffer.yaml |  52 -----
>  .../reserved-memory/memory-region.yaml        |  40 ----
>  .../reserved-memory/reserved-memory.txt       |   2 +-
>  .../reserved-memory/reserved-memory.yaml      | 181 ------------------
>  .../reserved-memory/shared-dma-pool.yaml      |  97 ----------
>  .../bindings/sound/mediatek,mt8188-afe.yaml   |   2 +-
>  8 files changed, 4 insertions(+), 374 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
>  delete mode 100644 Documentation/devicetree/bindings/reserved-memory/memory-region.yaml
>  delete mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
>  delete mode 100644 Documentation/devicetree/bindings/reserved-memory/shared-dma-pool.yaml
>

Reviewed-by: Simon Glass <sjg@chromium.org>
Mathieu Poirier Oct. 16, 2023, 5:31 p.m. UTC | #2
On Fri, Oct 13, 2023 at 03:08:49PM -0500, Rob Herring wrote:
> The common reserved-memory bindings have recently been copied from the
> kernel tree into dtschema. The preference is to host common, stable
> bindings in dtschema. As reserved-memory is documented in the DT Spec,
> it meets the criteria.
> 
> The v2023.09 version of dtschema is what contains the reserved-memory
> schemas we depend on, so bump the minimum version to that. Otherwise,
> references to these schemas will generate errors.
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>  Documentation/devicetree/bindings/Makefile    |   2 +-
>  .../remoteproc/renesas,rcar-rproc.yaml        |   2 +-
>  .../bindings/reserved-memory/framebuffer.yaml |  52 -----
>  .../reserved-memory/memory-region.yaml        |  40 ----
>  .../reserved-memory/reserved-memory.txt       |   2 +-
>  .../reserved-memory/reserved-memory.yaml      | 181 ------------------
>  .../reserved-memory/shared-dma-pool.yaml      |  97 ----------
>  .../bindings/sound/mediatek,mt8188-afe.yaml   |   2 +-
>  8 files changed, 4 insertions(+), 374 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
>  delete mode 100644 Documentation/devicetree/bindings/reserved-memory/memory-region.yaml
>  delete mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
>  delete mode 100644 Documentation/devicetree/bindings/reserved-memory/shared-dma-pool.yaml
> 
> diff --git a/Documentation/devicetree/bindings/Makefile b/Documentation/devicetree/bindings/Makefile
> index 8b395893bd85..3e886194b043 100644
> --- a/Documentation/devicetree/bindings/Makefile
> +++ b/Documentation/devicetree/bindings/Makefile
> @@ -6,7 +6,7 @@ DT_MK_SCHEMA ?= dt-mk-schema
>  DT_SCHEMA_LINT = $(shell which yamllint || \
>    echo "warning: python package 'yamllint' not installed, skipping" >&2)
>  
> -DT_SCHEMA_MIN_VERSION = 2022.3
> +DT_SCHEMA_MIN_VERSION = 2023.9
>  
>  PHONY += check_dtschema_version
>  check_dtschema_version:
> diff --git a/Documentation/devicetree/bindings/remoteproc/renesas,rcar-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/renesas,rcar-rproc.yaml
> index 4bea679a0f61..5c280117dc93 100644
> --- a/Documentation/devicetree/bindings/remoteproc/renesas,rcar-rproc.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/renesas,rcar-rproc.yaml
> @@ -31,7 +31,7 @@ properties:
>        remoteproc device. This is variable and describes the memories shared with
>        the remote processor (e.g. remoteproc firmware and carveouts, rpmsg
>        vrings, ...).
> -      (see ../reserved-memory/reserved-memory.yaml)
> +      (see reserved-memory/reserved-memory.yaml in dtschema project)

Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>

>  
>  required:
>    - compatible
> diff --git a/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml b/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
> deleted file mode 100644
> index 851ec24d6142..000000000000
> --- a/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
> +++ /dev/null
> @@ -1,52 +0,0 @@
> -# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> -%YAML 1.2
> ----
> -$id: http://devicetree.org/schemas/reserved-memory/framebuffer.yaml#
> -$schema: http://devicetree.org/meta-schemas/core.yaml#
> -
> -title: /reserved-memory framebuffer node
> -
> -maintainers:
> -  - devicetree-spec@vger.kernel.org
> -
> -allOf:
> -  - $ref: reserved-memory.yaml
> -
> -properties:
> -  compatible:
> -    const: framebuffer
> -    description: >
> -      This indicates a region of memory meant to be used as a framebuffer for
> -      a set of display devices. It can be used by an operating system to keep
> -      the framebuffer from being overwritten and use it as the backing memory
> -      for a display device (such as simple-framebuffer).
> -
> -unevaluatedProperties: false
> -
> -examples:
> -  - |
> -    / {
> -        compatible = "foo";
> -        model = "foo";
> -        #address-cells = <1>;
> -        #size-cells = <1>;
> -
> -        chosen {
> -            framebuffer {
> -                compatible = "simple-framebuffer";
> -                memory-region = <&fb>;
> -            };
> -        };
> -
> -        reserved-memory {
> -            #address-cells = <1>;
> -            #size-cells = <1>;
> -            ranges;
> -
> -            fb: framebuffer@80000000 {
> -                compatible = "framebuffer";
> -                reg = <0x80000000 0x007e9000>;
> -            };
> -        };
> -    };
> -...
> diff --git a/Documentation/devicetree/bindings/reserved-memory/memory-region.yaml b/Documentation/devicetree/bindings/reserved-memory/memory-region.yaml
> deleted file mode 100644
> index 592f180e6b0d..000000000000
> --- a/Documentation/devicetree/bindings/reserved-memory/memory-region.yaml
> +++ /dev/null
> @@ -1,40 +0,0 @@
> -# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> -%YAML 1.2
> ----
> -$id: http://devicetree.org/schemas/reserved-memory/memory-region.yaml#
> -$schema: http://devicetree.org/meta-schemas/core.yaml#
> -
> -title: Reserved Memory Region
> -
> -maintainers:
> -  - devicetree-spec@vger.kernel.org
> -
> -description: |
> -  Regions in the /reserved-memory node may be referenced by other device
> -  nodes by adding a memory-region property to the device node.
> -
> -select: true
> -
> -properties:
> -  memory-region:
> -    $ref: /schemas/types.yaml#/definitions/phandle-array
> -    description: >
> -      Phandle to a /reserved-memory child node assigned to the device.
> -
> -  memory-region-names:
> -    $ref: /schemas/types.yaml#/definitions/string-array
> -    description: >
> -      A list of names, one for each corresponding entry in the
> -      memory-region property
> -
> -additionalProperties: true
> -
> -examples:
> -  - |
> -    fb0: video@12300000 {
> -        /* ... */
> -        reg = <0x12300000 0x1000>;
> -        memory-region = <&display_reserved>;
> -    };
> -
> -...
> diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
> index 1810701a8509..8ce72996d500 100644
> --- a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
> +++ b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
> @@ -1 +1 @@
> -This file has been moved to reserved-memory.yaml.
> +This file has been moved to reserved-memory.yaml in the dtschema repository.
> diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
> deleted file mode 100644
> index c680e397cfd2..000000000000
> --- a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
> +++ /dev/null
> @@ -1,181 +0,0 @@
> -# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> -%YAML 1.2
> ----
> -$id: http://devicetree.org/schemas/reserved-memory/reserved-memory.yaml#
> -$schema: http://devicetree.org/meta-schemas/core.yaml#
> -
> -title: /reserved-memory Child Node Common
> -
> -maintainers:
> -  - devicetree-spec@vger.kernel.org
> -
> -description: >
> -  Reserved memory is specified as a node under the /reserved-memory node. The
> -  operating system shall exclude reserved memory from normal usage one can
> -  create child nodes describing particular reserved (excluded from normal use)
> -  memory regions. Such memory regions are usually designed for the special
> -  usage by various device drivers.
> -
> -  Each child of the reserved-memory node specifies one or more regions
> -  of reserved memory. Each child node may either use a 'reg' property to
> -  specify a specific range of reserved memory, or a 'size' property with
> -  optional constraints to request a dynamically allocated block of
> -  memory.
> -
> -  Following the generic-names recommended practice, node names should
> -  reflect the purpose of the node (ie. "framebuffer" or "dma-pool").
> -  Unit address (@<address>) should be appended to the name if the node
> -  is a static allocation.
> -
> -properties:
> -  reg: true
> -
> -  size:
> -    oneOf:
> -      - $ref: /schemas/types.yaml#/definitions/uint32
> -      - $ref: /schemas/types.yaml#/definitions/uint64
> -    description: >
> -      Length based on parent's \#size-cells. Size in bytes of memory to
> -      reserve.
> -
> -  alignment:
> -    oneOf:
> -      - $ref: /schemas/types.yaml#/definitions/uint32
> -      - $ref: /schemas/types.yaml#/definitions/uint64
> -    description: >
> -      Length based on parent's \#size-cells. Address boundary for
> -      alignment of allocation.
> -
> -  alloc-ranges:
> -    $ref: /schemas/types.yaml#/definitions/uint32-array
> -    description: >
> -      Address and Length pairs. Specifies regions of memory that are
> -      acceptable to allocate from.
> -
> -  iommu-addresses:
> -    $ref: /schemas/types.yaml#/definitions/phandle-array
> -    description: >
> -      A list of phandle and specifier pairs that describe static IO virtual
> -      address space mappings and carveouts associated with a given reserved
> -      memory region. The phandle in the first cell refers to the device for
> -      which the mapping or carveout is to be created.
> -
> -      The specifier consists of an address/size pair and denotes the IO
> -      virtual address range of the region for the given device. The exact
> -      format depends on the values of the "#address-cells" and "#size-cells"
> -      properties of the device referenced via the phandle.
> -
> -      When used in combination with a "reg" property, an IOVA mapping is to
> -      be established for this memory region. One example where this can be
> -      useful is to create an identity mapping for physical memory that the
> -      firmware has configured some hardware to access (such as a bootsplash
> -      framebuffer).
> -
> -      If no "reg" property is specified, the "iommu-addresses" property
> -      defines carveout regions in the IOVA space for the given device. This
> -      can be useful if a certain memory region should not be mapped through
> -      the IOMMU.
> -
> -  no-map:
> -    type: boolean
> -    description: >
> -      Indicates the operating system must not create a virtual mapping
> -      of the region as part of its standard mapping of system memory,
> -      nor permit speculative access to it under any circumstances other
> -      than under the control of the device driver using the region.
> -
> -  reusable:
> -    type: boolean
> -    description: >
> -      The operating system can use the memory in this region with the
> -      limitation that the device driver(s) owning the region need to be
> -      able to reclaim it back. Typically that means that the operating
> -      system can use that region to store volatile or cached data that
> -      can be otherwise regenerated or migrated elsewhere.
> -
> -allOf:
> -  - if:
> -      required:
> -        - no-map
> -
> -    then:
> -      not:
> -        required:
> -          - reusable
> -
> -  - if:
> -      required:
> -        - reusable
> -
> -    then:
> -      not:
> -        required:
> -          - no-map
> -
> -oneOf:
> -  - oneOf:
> -      - required:
> -          - reg
> -
> -      - required:
> -          - size
> -
> -  - oneOf:
> -      # IOMMU reservations
> -      - required:
> -          - iommu-addresses
> -
> -      # IOMMU mappings
> -      - required:
> -          - reg
> -          - iommu-addresses
> -
> -additionalProperties: true
> -
> -examples:
> -  - |
> -    / {
> -      compatible = "foo";
> -      model = "foo";
> -
> -      #address-cells = <2>;
> -      #size-cells = <2>;
> -
> -      reserved-memory {
> -        #address-cells = <2>;
> -        #size-cells = <2>;
> -        ranges;
> -
> -        adsp_resv: reservation-adsp {
> -          /*
> -           * Restrict IOVA mappings for ADSP buffers to the 512 MiB region
> -           * from 0x40000000 - 0x5fffffff. Anything outside is reserved by
> -           * the ADSP for I/O memory and private memory allocations.
> -           */
> -          iommu-addresses = <&adsp 0x0 0x00000000 0x00 0x40000000>,
> -                            <&adsp 0x0 0x60000000 0xff 0xa0000000>;
> -        };
> -
> -        fb: framebuffer@90000000 {
> -          reg = <0x0 0x90000000 0x0 0x00800000>;
> -          iommu-addresses = <&dc0 0x0 0x90000000 0x0 0x00800000>;
> -        };
> -      };
> -
> -      bus@0 {
> -        #address-cells = <1>;
> -        #size-cells = <1>;
> -        ranges = <0x0 0x0 0x0 0x40000000>;
> -
> -        adsp: adsp@2990000 {
> -          reg = <0x2990000 0x2000>;
> -          memory-region = <&adsp_resv>;
> -        };
> -
> -        dc0: display@15200000 {
> -          reg = <0x15200000 0x10000>;
> -          memory-region = <&fb>;
> -        };
> -      };
> -    };
> -...
> diff --git a/Documentation/devicetree/bindings/reserved-memory/shared-dma-pool.yaml b/Documentation/devicetree/bindings/reserved-memory/shared-dma-pool.yaml
> deleted file mode 100644
> index 457de0920cd1..000000000000
> --- a/Documentation/devicetree/bindings/reserved-memory/shared-dma-pool.yaml
> +++ /dev/null
> @@ -1,97 +0,0 @@
> -# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> -%YAML 1.2
> ----
> -$id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml#
> -$schema: http://devicetree.org/meta-schemas/core.yaml#
> -
> -title: /reserved-memory DMA pool
> -
> -maintainers:
> -  - devicetree-spec@vger.kernel.org
> -
> -allOf:
> -  - $ref: reserved-memory.yaml
> -
> -properties:
> -  compatible:
> -    oneOf:
> -      - const: shared-dma-pool
> -        description: >
> -          This indicates a region of memory meant to be used as a shared
> -          pool of DMA buffers for a set of devices. It can be used by an
> -          operating system to instantiate the necessary pool management
> -          subsystem if necessary.
> -
> -      - const: restricted-dma-pool
> -        description: >
> -          This indicates a region of memory meant to be used as a pool
> -          of restricted DMA buffers for a set of devices. The memory
> -          region would be the only region accessible to those devices.
> -          When using this, the no-map and reusable properties must not
> -          be set, so the operating system can create a virtual mapping
> -          that will be used for synchronization. The main purpose for
> -          restricted DMA is to mitigate the lack of DMA access control
> -          on systems without an IOMMU, which could result in the DMA
> -          accessing the system memory at unexpected times and/or
> -          unexpected addresses, possibly leading to data leakage or
> -          corruption. The feature on its own provides a basic level of
> -          protection against the DMA overwriting buffer contents at
> -          unexpected times. However, to protect against general data
> -          leakage and system memory corruption, the system needs to
> -          provide way to lock down the memory access, e.g., MPU. Note
> -          that since coherent allocation needs remapping, one must set
> -          up another device coherent pool by shared-dma-pool and use
> -          dma_alloc_from_dev_coherent instead for atomic coherent
> -          allocation.
> -
> -  linux,cma-default:
> -    type: boolean
> -    description: >
> -      If this property is present, then Linux will use the region for
> -      the default pool of the contiguous memory allocator.
> -
> -  linux,dma-default:
> -    type: boolean
> -    description: >
> -      If this property is present, then Linux will use the region for
> -      the default pool of the consistent DMA allocator.
> -
> -if:
> -  properties:
> -    compatible:
> -      contains:
> -        const: restricted-dma-pool
> -then:
> -  properties:
> -    no-map: false
> -    reusable: false
> -
> -unevaluatedProperties: false
> -
> -examples:
> -  - |
> -      reserved-memory {
> -          #address-cells = <1>;
> -          #size-cells = <1>;
> -          ranges;
> -
> -          /* global autoconfigured region for contiguous allocations */
> -          linux,cma {
> -              compatible = "shared-dma-pool";
> -              reusable;
> -              size = <0x4000000>;
> -              alignment = <0x2000>;
> -              linux,cma-default;
> -          };
> -
> -          display_reserved: framebuffer@78000000 {
> -              reg = <0x78000000 0x800000>;
> -          };
> -
> -          restricted_dma_reserved: restricted-dma-pool@50000000 {
> -              compatible = "restricted-dma-pool";
> -              reg = <0x50000000 0x4000000>;
> -          };
> -      };
> -
> -...
> diff --git a/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml b/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml
> index 90520f89208b..77af276ed2a2 100644
> --- a/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml
> +++ b/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml
> @@ -29,7 +29,7 @@ properties:
>      maxItems: 1
>      description: |
>        Shared memory region for AFE memif.  A "shared-dma-pool".
> -      See ../reserved-memory/reserved-memory.yaml for details.
> +      See dtschema reserved-memory/shared-dma-pool.yaml for details.
>  
>    mediatek,topckgen:
>      $ref: /schemas/types.yaml#/definitions/phandle
> -- 
> 2.42.0
>
kernel test robot Oct. 19, 2023, 8:01 a.m. UTC | #3
Hi Rob,

kernel test robot noticed the following build errors:

[auto build test ERROR on robh/for-next]
[also build test ERROR on krzk-dt/for-next remoteproc/rproc-next broonie-sound/for-next linus/master v6.6-rc6 next-20231018]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Rob-Herring/dt-bindings-Drop-kernel-copy-of-common-reserved-memory-bindings/20231017-125913
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link:    https://lore.kernel.org/r/20231013200851.347042-1-robh%40kernel.org
patch subject: [PATCH] dt-bindings: Drop kernel copy of common reserved-memory bindings
config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20231019/202310191537.20z1Aolb-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231019/202310191537.20z1Aolb-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202310191537.20z1Aolb-lkp@intel.com/

All errors (new ones prefixed by >>):

   sort: -:2: disorder: 2023.8.dev2+gd5e5147
>> ERROR: dtschema minimum version is v2023.9
Rob Herring (Arm) Oct. 24, 2023, 4:41 p.m. UTC | #4
On Fri, 13 Oct 2023 15:08:49 -0500, Rob Herring wrote:
> The common reserved-memory bindings have recently been copied from the
> kernel tree into dtschema. The preference is to host common, stable
> bindings in dtschema. As reserved-memory is documented in the DT Spec,
> it meets the criteria.
> 
> The v2023.09 version of dtschema is what contains the reserved-memory
> schemas we depend on, so bump the minimum version to that. Otherwise,
> references to these schemas will generate errors.
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>  Documentation/devicetree/bindings/Makefile    |   2 +-
>  .../remoteproc/renesas,rcar-rproc.yaml        |   2 +-
>  .../bindings/reserved-memory/framebuffer.yaml |  52 -----
>  .../reserved-memory/memory-region.yaml        |  40 ----
>  .../reserved-memory/reserved-memory.txt       |   2 +-
>  .../reserved-memory/reserved-memory.yaml      | 181 ------------------
>  .../reserved-memory/shared-dma-pool.yaml      |  97 ----------
>  .../bindings/sound/mediatek,mt8188-afe.yaml   |   2 +-
>  8 files changed, 4 insertions(+), 374 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
>  delete mode 100644 Documentation/devicetree/bindings/reserved-memory/memory-region.yaml
>  delete mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
>  delete mode 100644 Documentation/devicetree/bindings/reserved-memory/shared-dma-pool.yaml
> 

Applied, thanks!
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/Makefile b/Documentation/devicetree/bindings/Makefile
index 8b395893bd85..3e886194b043 100644
--- a/Documentation/devicetree/bindings/Makefile
+++ b/Documentation/devicetree/bindings/Makefile
@@ -6,7 +6,7 @@  DT_MK_SCHEMA ?= dt-mk-schema
 DT_SCHEMA_LINT = $(shell which yamllint || \
   echo "warning: python package 'yamllint' not installed, skipping" >&2)
 
-DT_SCHEMA_MIN_VERSION = 2022.3
+DT_SCHEMA_MIN_VERSION = 2023.9
 
 PHONY += check_dtschema_version
 check_dtschema_version:
diff --git a/Documentation/devicetree/bindings/remoteproc/renesas,rcar-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/renesas,rcar-rproc.yaml
index 4bea679a0f61..5c280117dc93 100644
--- a/Documentation/devicetree/bindings/remoteproc/renesas,rcar-rproc.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/renesas,rcar-rproc.yaml
@@ -31,7 +31,7 @@  properties:
       remoteproc device. This is variable and describes the memories shared with
       the remote processor (e.g. remoteproc firmware and carveouts, rpmsg
       vrings, ...).
-      (see ../reserved-memory/reserved-memory.yaml)
+      (see reserved-memory/reserved-memory.yaml in dtschema project)
 
 required:
   - compatible
diff --git a/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml b/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
deleted file mode 100644
index 851ec24d6142..000000000000
--- a/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml
+++ /dev/null
@@ -1,52 +0,0 @@ 
-# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
-%YAML 1.2
----
-$id: http://devicetree.org/schemas/reserved-memory/framebuffer.yaml#
-$schema: http://devicetree.org/meta-schemas/core.yaml#
-
-title: /reserved-memory framebuffer node
-
-maintainers:
-  - devicetree-spec@vger.kernel.org
-
-allOf:
-  - $ref: reserved-memory.yaml
-
-properties:
-  compatible:
-    const: framebuffer
-    description: >
-      This indicates a region of memory meant to be used as a framebuffer for
-      a set of display devices. It can be used by an operating system to keep
-      the framebuffer from being overwritten and use it as the backing memory
-      for a display device (such as simple-framebuffer).
-
-unevaluatedProperties: false
-
-examples:
-  - |
-    / {
-        compatible = "foo";
-        model = "foo";
-        #address-cells = <1>;
-        #size-cells = <1>;
-
-        chosen {
-            framebuffer {
-                compatible = "simple-framebuffer";
-                memory-region = <&fb>;
-            };
-        };
-
-        reserved-memory {
-            #address-cells = <1>;
-            #size-cells = <1>;
-            ranges;
-
-            fb: framebuffer@80000000 {
-                compatible = "framebuffer";
-                reg = <0x80000000 0x007e9000>;
-            };
-        };
-    };
-...
diff --git a/Documentation/devicetree/bindings/reserved-memory/memory-region.yaml b/Documentation/devicetree/bindings/reserved-memory/memory-region.yaml
deleted file mode 100644
index 592f180e6b0d..000000000000
--- a/Documentation/devicetree/bindings/reserved-memory/memory-region.yaml
+++ /dev/null
@@ -1,40 +0,0 @@ 
-# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
-%YAML 1.2
----
-$id: http://devicetree.org/schemas/reserved-memory/memory-region.yaml#
-$schema: http://devicetree.org/meta-schemas/core.yaml#
-
-title: Reserved Memory Region
-
-maintainers:
-  - devicetree-spec@vger.kernel.org
-
-description: |
-  Regions in the /reserved-memory node may be referenced by other device
-  nodes by adding a memory-region property to the device node.
-
-select: true
-
-properties:
-  memory-region:
-    $ref: /schemas/types.yaml#/definitions/phandle-array
-    description: >
-      Phandle to a /reserved-memory child node assigned to the device.
-
-  memory-region-names:
-    $ref: /schemas/types.yaml#/definitions/string-array
-    description: >
-      A list of names, one for each corresponding entry in the
-      memory-region property
-
-additionalProperties: true
-
-examples:
-  - |
-    fb0: video@12300000 {
-        /* ... */
-        reg = <0x12300000 0x1000>;
-        memory-region = <&display_reserved>;
-    };
-
-...
diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
index 1810701a8509..8ce72996d500 100644
--- a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
+++ b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
@@ -1 +1 @@ 
-This file has been moved to reserved-memory.yaml.
+This file has been moved to reserved-memory.yaml in the dtschema repository.
diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
deleted file mode 100644
index c680e397cfd2..000000000000
--- a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
+++ /dev/null
@@ -1,181 +0,0 @@ 
-# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
-%YAML 1.2
----
-$id: http://devicetree.org/schemas/reserved-memory/reserved-memory.yaml#
-$schema: http://devicetree.org/meta-schemas/core.yaml#
-
-title: /reserved-memory Child Node Common
-
-maintainers:
-  - devicetree-spec@vger.kernel.org
-
-description: >
-  Reserved memory is specified as a node under the /reserved-memory node. The
-  operating system shall exclude reserved memory from normal usage one can
-  create child nodes describing particular reserved (excluded from normal use)
-  memory regions. Such memory regions are usually designed for the special
-  usage by various device drivers.
-
-  Each child of the reserved-memory node specifies one or more regions
-  of reserved memory. Each child node may either use a 'reg' property to
-  specify a specific range of reserved memory, or a 'size' property with
-  optional constraints to request a dynamically allocated block of
-  memory.
-
-  Following the generic-names recommended practice, node names should
-  reflect the purpose of the node (ie. "framebuffer" or "dma-pool").
-  Unit address (@<address>) should be appended to the name if the node
-  is a static allocation.
-
-properties:
-  reg: true
-
-  size:
-    oneOf:
-      - $ref: /schemas/types.yaml#/definitions/uint32
-      - $ref: /schemas/types.yaml#/definitions/uint64
-    description: >
-      Length based on parent's \#size-cells. Size in bytes of memory to
-      reserve.
-
-  alignment:
-    oneOf:
-      - $ref: /schemas/types.yaml#/definitions/uint32
-      - $ref: /schemas/types.yaml#/definitions/uint64
-    description: >
-      Length based on parent's \#size-cells. Address boundary for
-      alignment of allocation.
-
-  alloc-ranges:
-    $ref: /schemas/types.yaml#/definitions/uint32-array
-    description: >
-      Address and Length pairs. Specifies regions of memory that are
-      acceptable to allocate from.
-
-  iommu-addresses:
-    $ref: /schemas/types.yaml#/definitions/phandle-array
-    description: >
-      A list of phandle and specifier pairs that describe static IO virtual
-      address space mappings and carveouts associated with a given reserved
-      memory region. The phandle in the first cell refers to the device for
-      which the mapping or carveout is to be created.
-
-      The specifier consists of an address/size pair and denotes the IO
-      virtual address range of the region for the given device. The exact
-      format depends on the values of the "#address-cells" and "#size-cells"
-      properties of the device referenced via the phandle.
-
-      When used in combination with a "reg" property, an IOVA mapping is to
-      be established for this memory region. One example where this can be
-      useful is to create an identity mapping for physical memory that the
-      firmware has configured some hardware to access (such as a bootsplash
-      framebuffer).
-
-      If no "reg" property is specified, the "iommu-addresses" property
-      defines carveout regions in the IOVA space for the given device. This
-      can be useful if a certain memory region should not be mapped through
-      the IOMMU.
-
-  no-map:
-    type: boolean
-    description: >
-      Indicates the operating system must not create a virtual mapping
-      of the region as part of its standard mapping of system memory,
-      nor permit speculative access to it under any circumstances other
-      than under the control of the device driver using the region.
-
-  reusable:
-    type: boolean
-    description: >
-      The operating system can use the memory in this region with the
-      limitation that the device driver(s) owning the region need to be
-      able to reclaim it back. Typically that means that the operating
-      system can use that region to store volatile or cached data that
-      can be otherwise regenerated or migrated elsewhere.
-
-allOf:
-  - if:
-      required:
-        - no-map
-
-    then:
-      not:
-        required:
-          - reusable
-
-  - if:
-      required:
-        - reusable
-
-    then:
-      not:
-        required:
-          - no-map
-
-oneOf:
-  - oneOf:
-      - required:
-          - reg
-
-      - required:
-          - size
-
-  - oneOf:
-      # IOMMU reservations
-      - required:
-          - iommu-addresses
-
-      # IOMMU mappings
-      - required:
-          - reg
-          - iommu-addresses
-
-additionalProperties: true
-
-examples:
-  - |
-    / {
-      compatible = "foo";
-      model = "foo";
-
-      #address-cells = <2>;
-      #size-cells = <2>;
-
-      reserved-memory {
-        #address-cells = <2>;
-        #size-cells = <2>;
-        ranges;
-
-        adsp_resv: reservation-adsp {
-          /*
-           * Restrict IOVA mappings for ADSP buffers to the 512 MiB region
-           * from 0x40000000 - 0x5fffffff. Anything outside is reserved by
-           * the ADSP for I/O memory and private memory allocations.
-           */
-          iommu-addresses = <&adsp 0x0 0x00000000 0x00 0x40000000>,
-                            <&adsp 0x0 0x60000000 0xff 0xa0000000>;
-        };
-
-        fb: framebuffer@90000000 {
-          reg = <0x0 0x90000000 0x0 0x00800000>;
-          iommu-addresses = <&dc0 0x0 0x90000000 0x0 0x00800000>;
-        };
-      };
-
-      bus@0 {
-        #address-cells = <1>;
-        #size-cells = <1>;
-        ranges = <0x0 0x0 0x0 0x40000000>;
-
-        adsp: adsp@2990000 {
-          reg = <0x2990000 0x2000>;
-          memory-region = <&adsp_resv>;
-        };
-
-        dc0: display@15200000 {
-          reg = <0x15200000 0x10000>;
-          memory-region = <&fb>;
-        };
-      };
-    };
-...
diff --git a/Documentation/devicetree/bindings/reserved-memory/shared-dma-pool.yaml b/Documentation/devicetree/bindings/reserved-memory/shared-dma-pool.yaml
deleted file mode 100644
index 457de0920cd1..000000000000
--- a/Documentation/devicetree/bindings/reserved-memory/shared-dma-pool.yaml
+++ /dev/null
@@ -1,97 +0,0 @@ 
-# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
-%YAML 1.2
----
-$id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml#
-$schema: http://devicetree.org/meta-schemas/core.yaml#
-
-title: /reserved-memory DMA pool
-
-maintainers:
-  - devicetree-spec@vger.kernel.org
-
-allOf:
-  - $ref: reserved-memory.yaml
-
-properties:
-  compatible:
-    oneOf:
-      - const: shared-dma-pool
-        description: >
-          This indicates a region of memory meant to be used as a shared
-          pool of DMA buffers for a set of devices. It can be used by an
-          operating system to instantiate the necessary pool management
-          subsystem if necessary.
-
-      - const: restricted-dma-pool
-        description: >
-          This indicates a region of memory meant to be used as a pool
-          of restricted DMA buffers for a set of devices. The memory
-          region would be the only region accessible to those devices.
-          When using this, the no-map and reusable properties must not
-          be set, so the operating system can create a virtual mapping
-          that will be used for synchronization. The main purpose for
-          restricted DMA is to mitigate the lack of DMA access control
-          on systems without an IOMMU, which could result in the DMA
-          accessing the system memory at unexpected times and/or
-          unexpected addresses, possibly leading to data leakage or
-          corruption. The feature on its own provides a basic level of
-          protection against the DMA overwriting buffer contents at
-          unexpected times. However, to protect against general data
-          leakage and system memory corruption, the system needs to
-          provide way to lock down the memory access, e.g., MPU. Note
-          that since coherent allocation needs remapping, one must set
-          up another device coherent pool by shared-dma-pool and use
-          dma_alloc_from_dev_coherent instead for atomic coherent
-          allocation.
-
-  linux,cma-default:
-    type: boolean
-    description: >
-      If this property is present, then Linux will use the region for
-      the default pool of the contiguous memory allocator.
-
-  linux,dma-default:
-    type: boolean
-    description: >
-      If this property is present, then Linux will use the region for
-      the default pool of the consistent DMA allocator.
-
-if:
-  properties:
-    compatible:
-      contains:
-        const: restricted-dma-pool
-then:
-  properties:
-    no-map: false
-    reusable: false
-
-unevaluatedProperties: false
-
-examples:
-  - |
-      reserved-memory {
-          #address-cells = <1>;
-          #size-cells = <1>;
-          ranges;
-
-          /* global autoconfigured region for contiguous allocations */
-          linux,cma {
-              compatible = "shared-dma-pool";
-              reusable;
-              size = <0x4000000>;
-              alignment = <0x2000>;
-              linux,cma-default;
-          };
-
-          display_reserved: framebuffer@78000000 {
-              reg = <0x78000000 0x800000>;
-          };
-
-          restricted_dma_reserved: restricted-dma-pool@50000000 {
-              compatible = "restricted-dma-pool";
-              reg = <0x50000000 0x4000000>;
-          };
-      };
-
-...
diff --git a/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml b/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml
index 90520f89208b..77af276ed2a2 100644
--- a/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml
+++ b/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml
@@ -29,7 +29,7 @@  properties:
     maxItems: 1
     description: |
       Shared memory region for AFE memif.  A "shared-dma-pool".
-      See ../reserved-memory/reserved-memory.yaml for details.
+      See dtschema reserved-memory/shared-dma-pool.yaml for details.
 
   mediatek,topckgen:
     $ref: /schemas/types.yaml#/definitions/phandle