Message ID | fc5c973d30df7ece297e19edad19ffe86378b6b1.1700555862.git.lukas@wunner.de |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | dt-bindings: tpm: Clean all the things | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | warning | total: 0 errors, 2 warnings, 101 lines checked |
robh/patch-applied | success | |
robh/dt-meta-schema | fail | build log |
On Tue, 21 Nov 2023 10:48:42 +0100, Lukas Wunner wrote: > Convert the devicetree bindings for the IBM Virtual Trusted Platform > Module to DT schema. Drop properties which are already documented in > tpm-common.yaml. > > Document the "IBM,vtpm20" compatible string introduced by commit > 18b3670d79ae ("tpm: ibmvtpm: Add support for TPM2"). > > Signed-off-by: Lukas Wunner <lukas@wunner.de> > --- > .../bindings/security/tpm/ibmvtpm.txt | 41 ------- > .../devicetree/bindings/tpm/ibm,vtpm.yaml | 101 ++++++++++++++++++ > 2 files changed, 101 insertions(+), 41 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/security/tpm/ibmvtpm.txt > create mode 100644 Documentation/devicetree/bindings/tpm/ibm,vtpm.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/tpm/ibm,vtpm.yaml: required:4: 'ibm,#dma-address-cells' does not match '^([a-zA-Z#][a-zA-Z0-9,+\\-._@]{0,63}|\\$nodename)$' hint: 'required' must be valid DT property or node names from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/tpm/ibm,vtpm.yaml: required:5: 'ibm,#dma-size-cells' does not match '^([a-zA-Z#][a-zA-Z0-9,+\\-._@]{0,63}|\\$nodename)$' hint: 'required' must be valid DT property or node names from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/tpm/ibm,vtpm.example.dtb: vtpm@30000003: Unevaluated properties are not allowed ('linux,sml-base', 'linux,sml-size' were unexpected) from schema $id: http://devicetree.org/schemas/tpm/ibm,vtpm.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/tpm/ibm,vtpm.example.dtb: vtpm@30000003: 'ibm,#dma-address-cells', 'ibm,#dma-size-cells' do not match any of the regexes: '.*-names$', '.*-supply$', '^#.*-cells$', '^#[a-zA-Z0-9,+\\-._]{0,63}$', '^[a-zA-Z0-9][a-zA-Z0-9,+\\-._]{0,63}$', '^[a-zA-Z0-9][a-zA-Z0-9,+\\-._]{0,63}@[0-9a-fA-F]+(,[0-9a-fA-F]+)*$', '^__.*__$', 'pinctrl-[0-9]+' from schema $id: http://devicetree.org/schemas/dt-core.yaml# doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/fc5c973d30df7ece297e19edad19ffe86378b6b1.1700555862.git.lukas@wunner.de The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
On Tue, Nov 21, 2023 at 03:57:21AM -0700, Rob Herring wrote: > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' > on your patch (DT_CHECKER_FLAGS is new in v5.13): Your bot hasn't read the cover letter, which discusses those errors: https://lore.kernel.org/linux-devicetree/cover.1700555862.git.lukas@wunner.de/
On Tue, Nov 21, 2023 at 10:48:42AM +0100, Lukas Wunner wrote: > Convert the devicetree bindings for the IBM Virtual Trusted Platform > Module to DT schema. Drop properties which are already documented in > tpm-common.yaml. > > Document the "IBM,vtpm20" compatible string introduced by commit > 18b3670d79ae ("tpm: ibmvtpm: Add support for TPM2"). > > Signed-off-by: Lukas Wunner <lukas@wunner.de> > --- > .../bindings/security/tpm/ibmvtpm.txt | 41 ------- > .../devicetree/bindings/tpm/ibm,vtpm.yaml | 101 ++++++++++++++++++ > 2 files changed, 101 insertions(+), 41 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/security/tpm/ibmvtpm.txt > create mode 100644 Documentation/devicetree/bindings/tpm/ibm,vtpm.yaml > > diff --git a/Documentation/devicetree/bindings/security/tpm/ibmvtpm.txt b/Documentation/devicetree/bindings/security/tpm/ibmvtpm.txt > deleted file mode 100644 > index d89f99971368..000000000000 > --- a/Documentation/devicetree/bindings/security/tpm/ibmvtpm.txt > +++ /dev/null > @@ -1,41 +0,0 @@ > -* Device Tree Bindings for IBM Virtual Trusted Platform Module(vtpm) > - > -Required properties: > - > -- compatible : property name that conveys the platform architecture > - identifiers, as 'IBM,vtpm' > -- device_type : specifies type of virtual device > -- interrupts : property specifying the interrupt source number and > - sense code associated with this virtual I/O Adapters > -- ibm,my-drc-index : integer index for the connector between the device > - and its parent - present only if Dynamic > - Reconfiguration(DR) Connector is enabled > -- ibm,#dma-address-cells: specifies the number of cells that are used to > - encode the physical address field of dma-window > - properties > -- ibm,#dma-size-cells : specifies the number of cells that are used to > - encode the size field of dma-window properties > -- ibm,my-dma-window : specifies DMA window associated with this virtual > - IOA > -- ibm,loc-code : specifies the unique and persistent location code > - associated with this virtual I/O Adapters > -- linux,sml-base : 64-bit base address of the reserved memory allocated > - for the firmware event log > -- linux,sml-size : size of the memory allocated for the firmware event log > - > -Example (IBM Virtual Trusted Platform Module) > ---------------------------------------------- > - > - vtpm@30000003 { > - ibm,#dma-size-cells = <0x2>; > - compatible = "IBM,vtpm"; > - device_type = "IBM,vtpm"; > - ibm,my-drc-index = <0x30000003>; > - ibm,#dma-address-cells = <0x2>; > - linux,sml-base = <0xc60e 0x0>; > - interrupts = <0xa0003 0x0>; > - ibm,my-dma-window = <0x10000003 0x0 0x0 0x0 0x10000000>; > - ibm,loc-code = "U8286.41A.10082DV-V3-C3"; > - reg = <0x30000003>; > - linux,sml-size = <0xbce10200>; > - }; > diff --git a/Documentation/devicetree/bindings/tpm/ibm,vtpm.yaml b/Documentation/devicetree/bindings/tpm/ibm,vtpm.yaml > new file mode 100644 > index 000000000000..a88ed96c80cf > --- /dev/null > +++ b/Documentation/devicetree/bindings/tpm/ibm,vtpm.yaml > @@ -0,0 +1,101 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/tpm/ibm,vtpm.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: IBM Virtual Trusted Platform Module (vTPM) > + > +maintainers: > + - Nayna Jain <nayna@linux.ibm.com> > + > +description: | > + Virtual TPM is used on IBM POWER7+ and POWER8 systems running POWERVM. > + It is supported through the adjunct partition with firmware release 740 > + or higher. With vTPM support, each lpar is able to have its own vTPM > + without the physical TPM hardware. The TPM functionality is provided by > + communicating with the vTPM adjunct partition through Hypervisor calls > + (Hcalls) and Command/Response Queue (CRQ) commands. > + > +properties: > + compatible: > + enum: > + - IBM,vtpm > + - IBM,vtpm20 > + > + device_type: > + description: > + type of virtual device const: IBM,vtpm > + > + reg: > + maxItems: 1 > + > + 'ibm,#dma-address-cells': > + description: > + number of cells that are used to encode the physical address field of > + dma-window properties > + $ref: /schemas/types.yaml#/definitions/uint32-array > + > + 'ibm,#dma-size-cells': > + description: > + number of cells that are used to encode the size field of > + dma-window properties > + $ref: /schemas/types.yaml#/definitions/uint32-array > + > + ibm,my-dma-window: > + description: > + DMA window associated with this virtual I/O Adapter > + $ref: /schemas/types.yaml#/definitions/uint32-array > + minItems: 5 > + maxItems: 5 > + > + ibm,my-drc-index: > + description: > + integer index for the connector between the device and its parent; > + present only if Dynamic Reconfiguration (DR) Connector is enabled > + $ref: /schemas/types.yaml#/definitions/uint32 > + > + ibm,loc-code: > + description: > + unique and persistent location code associated with this virtual > + I/O Adapter > + $ref: /schemas/types.yaml#/definitions/string > + > +required: > + - compatible > + - device_type > + - reg > + - interrupts > + - ibm,#dma-address-cells > + - ibm,#dma-size-cells > + - ibm,my-dma-window > + - ibm,my-drc-index > + - ibm,loc-code > + - linux,sml-base > + - linux,sml-size > + > +allOf: > + - $ref: tpm-common.yaml# > + > +unevaluatedProperties: false > + > +examples: > + - | > + soc { > + #address-cells = <1>; > + #size-cells = <0>; > + > + vtpm@30000003 { tpm@... With that, Reviewed-by: Rob Herring <robh@kernel.org>
On Tue, Nov 21, 2023 at 09:19:25AM -0700, Rob Herring wrote: > On Tue, Nov 21, 2023 at 10:48:42AM +0100, Lukas Wunner wrote: > > +properties: > > + compatible: > > + enum: > > + - IBM,vtpm > > + - IBM,vtpm20 > > + > > + device_type: > > + description: > > + type of virtual device > > const: IBM,vtpm Hm, since IBM,vtpm20 is a valid compatible string, I'm guessing it's a valid device_type as well, so instead of a const I intend to use: device_type: description: type of virtual device enum: - IBM,vtpm - IBM,vtpm20 Thanks, Lukas
diff --git a/Documentation/devicetree/bindings/security/tpm/ibmvtpm.txt b/Documentation/devicetree/bindings/security/tpm/ibmvtpm.txt deleted file mode 100644 index d89f99971368..000000000000 --- a/Documentation/devicetree/bindings/security/tpm/ibmvtpm.txt +++ /dev/null @@ -1,41 +0,0 @@ -* Device Tree Bindings for IBM Virtual Trusted Platform Module(vtpm) - -Required properties: - -- compatible : property name that conveys the platform architecture - identifiers, as 'IBM,vtpm' -- device_type : specifies type of virtual device -- interrupts : property specifying the interrupt source number and - sense code associated with this virtual I/O Adapters -- ibm,my-drc-index : integer index for the connector between the device - and its parent - present only if Dynamic - Reconfiguration(DR) Connector is enabled -- ibm,#dma-address-cells: specifies the number of cells that are used to - encode the physical address field of dma-window - properties -- ibm,#dma-size-cells : specifies the number of cells that are used to - encode the size field of dma-window properties -- ibm,my-dma-window : specifies DMA window associated with this virtual - IOA -- ibm,loc-code : specifies the unique and persistent location code - associated with this virtual I/O Adapters -- linux,sml-base : 64-bit base address of the reserved memory allocated - for the firmware event log -- linux,sml-size : size of the memory allocated for the firmware event log - -Example (IBM Virtual Trusted Platform Module) ---------------------------------------------- - - vtpm@30000003 { - ibm,#dma-size-cells = <0x2>; - compatible = "IBM,vtpm"; - device_type = "IBM,vtpm"; - ibm,my-drc-index = <0x30000003>; - ibm,#dma-address-cells = <0x2>; - linux,sml-base = <0xc60e 0x0>; - interrupts = <0xa0003 0x0>; - ibm,my-dma-window = <0x10000003 0x0 0x0 0x0 0x10000000>; - ibm,loc-code = "U8286.41A.10082DV-V3-C3"; - reg = <0x30000003>; - linux,sml-size = <0xbce10200>; - }; diff --git a/Documentation/devicetree/bindings/tpm/ibm,vtpm.yaml b/Documentation/devicetree/bindings/tpm/ibm,vtpm.yaml new file mode 100644 index 000000000000..a88ed96c80cf --- /dev/null +++ b/Documentation/devicetree/bindings/tpm/ibm,vtpm.yaml @@ -0,0 +1,101 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/tpm/ibm,vtpm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: IBM Virtual Trusted Platform Module (vTPM) + +maintainers: + - Nayna Jain <nayna@linux.ibm.com> + +description: | + Virtual TPM is used on IBM POWER7+ and POWER8 systems running POWERVM. + It is supported through the adjunct partition with firmware release 740 + or higher. With vTPM support, each lpar is able to have its own vTPM + without the physical TPM hardware. The TPM functionality is provided by + communicating with the vTPM adjunct partition through Hypervisor calls + (Hcalls) and Command/Response Queue (CRQ) commands. + +properties: + compatible: + enum: + - IBM,vtpm + - IBM,vtpm20 + + device_type: + description: + type of virtual device + + reg: + maxItems: 1 + + 'ibm,#dma-address-cells': + description: + number of cells that are used to encode the physical address field of + dma-window properties + $ref: /schemas/types.yaml#/definitions/uint32-array + + 'ibm,#dma-size-cells': + description: + number of cells that are used to encode the size field of + dma-window properties + $ref: /schemas/types.yaml#/definitions/uint32-array + + ibm,my-dma-window: + description: + DMA window associated with this virtual I/O Adapter + $ref: /schemas/types.yaml#/definitions/uint32-array + minItems: 5 + maxItems: 5 + + ibm,my-drc-index: + description: + integer index for the connector between the device and its parent; + present only if Dynamic Reconfiguration (DR) Connector is enabled + $ref: /schemas/types.yaml#/definitions/uint32 + + ibm,loc-code: + description: + unique and persistent location code associated with this virtual + I/O Adapter + $ref: /schemas/types.yaml#/definitions/string + +required: + - compatible + - device_type + - reg + - interrupts + - ibm,#dma-address-cells + - ibm,#dma-size-cells + - ibm,my-dma-window + - ibm,my-drc-index + - ibm,loc-code + - linux,sml-base + - linux,sml-size + +allOf: + - $ref: tpm-common.yaml# + +unevaluatedProperties: false + +examples: + - | + soc { + #address-cells = <1>; + #size-cells = <0>; + + vtpm@30000003 { + compatible = "IBM,vtpm"; + device_type = "IBM,vtpm"; + reg = <0x30000003>; + interrupts = <0xa0003 0x0>; + ibm,#dma-address-cells = <0x2>; + ibm,#dma-size-cells = <0x2>; + ibm,my-dma-window = <0x10000003 0x0 0x0 0x0 0x10000000>; + ibm,my-drc-index = <0x30000003>; + ibm,loc-code = "U8286.41A.10082DV-V3-C3"; + linux,sml-base = <0xc60e 0x0>; + linux,sml-size = <0xbce10200>; + }; + };
Convert the devicetree bindings for the IBM Virtual Trusted Platform Module to DT schema. Drop properties which are already documented in tpm-common.yaml. Document the "IBM,vtpm20" compatible string introduced by commit 18b3670d79ae ("tpm: ibmvtpm: Add support for TPM2"). Signed-off-by: Lukas Wunner <lukas@wunner.de> --- .../bindings/security/tpm/ibmvtpm.txt | 41 ------- .../devicetree/bindings/tpm/ibm,vtpm.yaml | 101 ++++++++++++++++++ 2 files changed, 101 insertions(+), 41 deletions(-) delete mode 100644 Documentation/devicetree/bindings/security/tpm/ibmvtpm.txt create mode 100644 Documentation/devicetree/bindings/tpm/ibm,vtpm.yaml