Message ID | 20201205152427.29537-2-Sergey.Semin@baikalelectronics.ru |
---|---|
State | Superseded |
Headers | show |
Series | dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema | expand |
On Sat, 05 Dec 2020 18:24:08 +0300, Serge Semin wrote: > There can be three distinctive types of the USB controllers: USB hosts, > USB peripherals/gadgets and USB OTG, which can switch from one role to > another. In order to have that hierarchy handled in the DT binding files, > we need to collect common properties in a common DT schema and specific > properties in dedicated schemas. Seeing the usb-hcd.yaml DT schema is > dedicated for the USB host controllers only, let's move some common > properties from there into the usb.yaml schema. So the later would be > available to evaluate all currently supported types of the USB > controllers. > > While at it add an explicit "additionalProperties: true" into the > usb-hcd.yaml as setting the additionalProperties/unevaluateProperties > properties is going to be get mandatory soon. > > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> > > --- > > Changelog v4: > - This is a new patch created as a result of the comment left > by Chunfeng Yun in v3 > > Changelog v5: > - Discard duplicated additionalProperties property definition. > --- > .../devicetree/bindings/usb/usb-hcd.yaml | 14 ++------- > .../devicetree/bindings/usb/usb.yaml | 29 +++++++++++++++++++ > 2 files changed, 31 insertions(+), 12 deletions(-) > create mode 100644 Documentation/devicetree/bindings/usb/usb.yaml > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: schemas/usb/usb-hcd.yaml: ignoring, error in schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/usb/usb-hcd.yaml: 'anyOf' conditional failed, one must be fixed: 'properties' is a required property 'patternProperties' is a required property schemas/usb/usb-hcd.yaml: ignoring, error in schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/usb/usb-hcd.yaml: ignoring, error in schema: warning: no schema found in file: ./Documentation/devicetree/bindings/usb/usb-hcd.yaml schemas/usb/usb-hcd.yaml: ignoring, error in schema: dt-validate: recursion error: Check for prior errors in a referenced schema schemas/usb/usb-hcd.yaml: ignoring, error in schema: dt-validate: recursion error: Check for prior errors in a referenced schema schemas/usb/usb-hcd.yaml: ignoring, error in schema: dt-validate: recursion error: Check for prior errors in a referenced schema schemas/usb/usb-hcd.yaml: ignoring, error in schema: dt-validate: recursion error: Check for prior errors in a referenced schema schemas/usb/usb-hcd.yaml: ignoring, error in schema: dt-validate: recursion error: Check for prior errors in a referenced schema dt-validate: recursion error: Check for prior errors in a referenced schema See https://patchwork.ozlabs.org/patch/1411574 The base for the patch is generally the last rc1. Any dependencies should be noted. 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.
On Sat, 05 Dec 2020 18:24:08 +0300, Serge Semin wrote: > There can be three distinctive types of the USB controllers: USB hosts, > USB peripherals/gadgets and USB OTG, which can switch from one role to > another. In order to have that hierarchy handled in the DT binding files, > we need to collect common properties in a common DT schema and specific > properties in dedicated schemas. Seeing the usb-hcd.yaml DT schema is > dedicated for the USB host controllers only, let's move some common > properties from there into the usb.yaml schema. So the later would be > available to evaluate all currently supported types of the USB > controllers. > > While at it add an explicit "additionalProperties: true" into the > usb-hcd.yaml as setting the additionalProperties/unevaluateProperties > properties is going to be get mandatory soon. > > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> > > --- > > Changelog v4: > - This is a new patch created as a result of the comment left > by Chunfeng Yun in v3 > > Changelog v5: > - Discard duplicated additionalProperties property definition. > --- > .../devicetree/bindings/usb/usb-hcd.yaml | 14 ++------- > .../devicetree/bindings/usb/usb.yaml | 29 +++++++++++++++++++ > 2 files changed, 31 insertions(+), 12 deletions(-) > create mode 100644 Documentation/devicetree/bindings/usb/usb.yaml > Reviewed-by: Rob Herring <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/usb/usb-hcd.yaml b/Documentation/devicetree/bindings/usb/usb-hcd.yaml index b545b087b342..81f3ad1419d8 100644 --- a/Documentation/devicetree/bindings/usb/usb-hcd.yaml +++ b/Documentation/devicetree/bindings/usb/usb-hcd.yaml @@ -9,18 +9,8 @@ title: Generic USB Host Controller Device Tree Bindings maintainers: - Greg Kroah-Hartman <gregkh@linuxfoundation.org> -properties: - $nodename: - pattern: "^usb(@.*)?" - - phys: - $ref: /schemas/types.yaml#/definitions/phandle-array - description: - List of all the USB PHYs on this HCD - - phy-names: - description: - Name specifier for the USB PHY +allOf: + - $ref: usb.yaml# additionalProperties: true diff --git a/Documentation/devicetree/bindings/usb/usb.yaml b/Documentation/devicetree/bindings/usb/usb.yaml new file mode 100644 index 000000000000..941ad59fbac5 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/usb.yaml @@ -0,0 +1,29 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/usb.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Generic USB Controller Device Tree Bindings + +maintainers: + - Greg Kroah-Hartman <gregkh@linuxfoundation.org> + +select: false + +properties: + $nodename: + pattern: "^usb(@.*)?" + + phys: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: + List of all the USB PHYs on this HCD + + phy-names: + description: + Name specifier for the USB PHY + +additionalProperties: true + +...
There can be three distinctive types of the USB controllers: USB hosts, USB peripherals/gadgets and USB OTG, which can switch from one role to another. In order to have that hierarchy handled in the DT binding files, we need to collect common properties in a common DT schema and specific properties in dedicated schemas. Seeing the usb-hcd.yaml DT schema is dedicated for the USB host controllers only, let's move some common properties from there into the usb.yaml schema. So the later would be available to evaluate all currently supported types of the USB controllers. While at it add an explicit "additionalProperties: true" into the usb-hcd.yaml as setting the additionalProperties/unevaluateProperties properties is going to be get mandatory soon. Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> --- Changelog v4: - This is a new patch created as a result of the comment left by Chunfeng Yun in v3 Changelog v5: - Discard duplicated additionalProperties property definition. --- .../devicetree/bindings/usb/usb-hcd.yaml | 14 ++------- .../devicetree/bindings/usb/usb.yaml | 29 +++++++++++++++++++ 2 files changed, 31 insertions(+), 12 deletions(-) create mode 100644 Documentation/devicetree/bindings/usb/usb.yaml