[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210209223258.GA328873@robh.at.kernel.org>
Date: Tue, 9 Feb 2021 16:32:58 -0600
From: Rob Herring <robh@...nel.org>
To: Serge Semin <Sergey.Semin@...kalelectronics.ru>
Cc: Giuseppe Cavallaro <peppe.cavallaro@...com>,
Alexandre Torgue <alexandre.torgue@...com>,
Jose Abreu <joabreu@...opsys.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Johan Hovold <johan@...nel.org>,
Maxime Ripard <mripard@...nel.org>,
Joao Pinto <jpinto@...opsys.com>,
Lars Persson <larper@...s.com>,
Serge Semin <fancer.lancer@...il.com>,
Alexey Malahov <Alexey.Malahov@...kalelectronics.ru>,
Pavel Parkhomenko <Pavel.Parkhomenko@...kalelectronics.ru>,
Vyacheslav Mitrofanov
<Vyacheslav.Mitrofanov@...kalelectronics.ru>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
netdev@...r.kernel.org, linux-stm32@...md-mailman.stormreply.com,
linux-arm-kernel@...ts.infradead.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 07/24] dt-bindings: net: dwmac: Detach Generic DW MAC
bindings
On Mon, Feb 08, 2021 at 04:55:51PM +0300, Serge Semin wrote:
> Currently the snps,dwmac.yaml DT bindings file is used for both DT nodes
> describing generic DW MAC devices and as DT schema with common properties
> to be evaluated against a vendor-specific DW MAC IP-cores. Due to such
> dual-purpose design the "compatible" property of the common DW MAC schema
> needs to contain the vendor-specific strings to successfully pass the
> schema evaluation in case if it's referenced from the vendor-specific DT
> bindings. That's a bad design from maintainability point of view, since
> adding/removing any DW MAC-based device bindings requires the common
> schema modification. In order to fix that let's detach the schema which
> provides the generic DW MAC DT nodes evaluation into a dedicated DT
> bindings file preserving the common DW MAC properties declaration in the
> snps,dwmac.yaml file. By doing so we'll still provide a common properties
> evaluation for each vendor-specific MAC bindings which refer to the
> common bindings file, while the generic DW MAC DT nodes will be checked
> against the new snps,dwmac-generic.yaml DT schema.
>
> Signed-off-by: Serge Semin <Sergey.Semin@...kalelectronics.ru>
>
> ---
>
> Changelog v2:
> - Add a note to the snps,dwmac-generic.yaml bindings file description of
> a requirement to create a new DT bindings file for the vendor-specific
> versions of the DW MAC.
> ---
> .../bindings/net/snps,dwmac-generic.yaml | 154 ++++++++++++++++++
> .../devicetree/bindings/net/snps,dwmac.yaml | 139 +---------------
> 2 files changed, 155 insertions(+), 138 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/net/snps,dwmac-generic.yaml
>
> diff --git a/Documentation/devicetree/bindings/net/snps,dwmac-generic.yaml b/Documentation/devicetree/bindings/net/snps,dwmac-generic.yaml
> new file mode 100644
> index 000000000000..6c3bf5b2f890
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/snps,dwmac-generic.yaml
> @@ -0,0 +1,154 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/snps,dwmac-generic.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Synopsys DesignWare Generic MAC Device Tree Bindings
> +
> +maintainers:
> + - Alexandre Torgue <alexandre.torgue@...com>
> + - Giuseppe Cavallaro <peppe.cavallaro@...com>
> + - Jose Abreu <joabreu@...opsys.com>
> +
> +description:
> + The primary purpose of this bindings file is to validate the Generic
> + Synopsys Desginware MAC DT nodes defined in accordance with the select
> + schema. All new vendor-specific versions of the DW *MAC IP-cores must
> + be described in a dedicated DT bindings file.
> +
> +# Select the DT nodes, which have got compatible strings either as just a
> +# single string with IP-core name optionally followed by the IP version or
> +# two strings: one with IP-core name plus the IP version, another as just
> +# the IP-core name.
> +select:
> + properties:
> + compatible:
> + oneOf:
> + - items:
> + - pattern: "^snps,dw(xg)+mac(-[0-9]+\\.[0-9]+a?)?$"
Use '' instead of "" and you can skip the double \.
With that,
Reviewed-by: Rob Herring <robh@...nel.org>
> + - items:
> + - pattern: "^snps,dwmac-[0-9]+\\.[0-9]+a?$"
> + - const: snps,dwmac
> + - items:
> + - pattern: "^snps,dwxgmac-[0-9]+\\.[0-9]+a?$"
> + - const: snps,dwxgmac
Powered by blists - more mailing lists