Re: [PATCH v4 01/18] dt-bindings: usb: usb-hcd: Detach generic USB controller properties
From: Chunfeng Yun
Date: Fri Nov 13 2020 - 01:04:41 EST
On Wed, 2020-11-11 at 12: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@xxxxxxxxxxxxxxxxxxxx>
>
> ---
>
> Changelog v4:
> - This is a new patch created as a result of the comment left
> by Chunfeng Yun in v3
> ---
> .../devicetree/bindings/usb/usb-hcd.yaml | 14 ++-------
> .../devicetree/bindings/usb/usb.yaml | 29 +++++++++++++++++++
> 2 files changed, 32 insertions(+), 11 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/usb/usb.yaml
>
> diff --git a/Documentation/devicetree/bindings/usb/usb-hcd.yaml b/Documentation/devicetree/bindings/usb/usb-hcd.yaml
> index 7263b7f2b510..81f3ad1419d8 100644
> --- a/Documentation/devicetree/bindings/usb/usb-hcd.yaml
> +++ b/Documentation/devicetree/bindings/usb/usb-hcd.yaml
> @@ -9,18 +9,10 @@ title: Generic USB Host Controller Device Tree Bindings
> maintainers:
> - Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>
> -properties:
> - $nodename:
> - pattern: "^usb(@.*)?"
> +allOf:
> + - $ref: usb.yaml#
>
> - 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
This seems already added by the applied patch 6a0e321ea735 "dt-bindings:
Explicitly allow additional properties in common schemas"
>
> examples:
> - |
> 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@xxxxxxxxxxxxxxxxxxx>
> +
> +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
> +
> +...