Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime.ripard@bootlin.com>
To: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org, Jason Cooper <jason@lakedaemon.net>,
	maz@kernel.org, Chen-Yu Tsai <wens@csie.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Frank Rowand <frowand.list@gmail.com>,
	"moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 2/2] dt-bindings: irq: Convert Allwinner NMI Controller to a schema
Date: Tue, 13 Aug 2019 07:47:38 +0200	[thread overview]
Message-ID: <20190813054738.ge2jdu6qn2vaoasd@flea> (raw)
In-Reply-To: <CAL_JsqJkTrCuscnWgm5cDmQj5RPGnd3qXkzR40XWKB2skZFwXA@mail.gmail.com>

Hi Rob,

On Tue, Jul 23, 2019 at 10:32:41AM -0600, Rob Herring wrote:
> On Tue, Jul 23, 2019 at 7:27 AM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> >
> > The Allwinner SoCs have an interrupt controller called NMI supported in
> > Linux, with a matching Device Tree binding.
> >
> > Now that we have the DT validation in place, let's convert the device tree
> > bindings for that controller over to a YAML schemas.
> >
> > Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
> > ---
> >  .../allwinner,sun7i-a20-sc-nmi.yaml           | 83 +++++++++++++++++++
> >  .../allwinner,sunxi-nmi.txt                   | 29 -------
> >  2 files changed, 83 insertions(+), 29 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml
> >  delete mode 100644 Documentation/devicetree/bindings/interrupt-controller/allwinner,sunxi-nmi.txt
> >
> > diff --git a/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml
> > new file mode 100644
> > index 000000000000..cb8077b0c8dd
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml
> > @@ -0,0 +1,83 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Allwinner A20 Non-Maskable Interrupt Controller Device Tree Bindings
> > +
> > +maintainers:
> > +  - Chen-Yu Tsai <wens@csie.org>
> > +  - Maxime Ripard <maxime.ripard@bootlin.com>
> > +
> > +allOf:
> > +  - $ref: /schemas/interrupt-controller.yaml#
> > +
> > +select:
> > +  properties:
> > +    compatible:
> > +      contains:
> > +        enum:
> > +          - allwinner,sun6i-a31-r-intc
> > +          - allwinner,sun7i-a20-sc-nmi
> > +          - allwinner,sun9i-a80-sc-nmi
>
> This should have all the possible compatibles in case all are not
> listed.

I'm sorry, but I'm not sure I understood what you meant here :/

>
> > +
> > +          # Deprecated
> > +          - allwinner,sun6i-a31-sc-nmi
>
> I know we already did things this way before, but perhaps this should
> be listed below with the 'deprecated' property. The tools can include
> it in select, but then remove it from compatible property.

Can we have more than just one of the choice for an enum?

In this particular case, since we have oneOf it's not really too much
of an issue, but there's a significant amount of users of enum for the
compatibles.

Thanks!
Maxime

> > +
> > +  required:
> > +    - compatible
> > +
> > +properties:
> > +  "#interrupt-cells":
> > +    const: 2
> > +    description:
> > +      The first cell is the IRQ number, the second cell the trigger
> > +      type as defined in interrupt.txt in this directory.
> > +
> > +  compatible:
> > +    oneOf:
> > +      - const: allwinner,sun6i-a31-r-intc
> > +      - const: allwinner,sun7i-a20-sc-nmi
> > +      - items:
> > +        - const: allwinner,sun8i-a83t-r-intc
> > +        - const: allwinner,sun6i-a31-r-intc
> > +      - const: allwinner,sun9i-a80-sc-nmi
> > +      - items:
> > +        - const: allwinner,sun50i-a64-r-intc
> > +        - const: allwinner,sun6i-a31-r-intc
> > +      - items:
> > +        - const: allwinner,sun50i-h6-r-intc
> > +        - const: allwinner,sun6i-a31-r-intc
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  interrupts:
> > +    maxItems: 1
> > +
> > +  interrupt-controller: true
> > +
> > +required:
> > +  - "#interrupt-cells"
> > +  - compatible
> > +  - reg
> > +  - interrupts
> > +  - interrupt-controller
> > +
> > +# FIXME: We should set it, but it would report all the generic
> > +# properties as additional properties.
> > +# additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    interrupt-controller@1c00030 {
> > +        compatible = "allwinner,sun7i-a20-sc-nmi";
> > +        interrupt-controller;
> > +        #interrupt-cells = <2>;
> > +        reg = <0x01c00030 0x0c>;
> > +        interrupt-parent = <&gic>;
> > +        interrupts = <0 0 4>;
> > +    };
> > +
> > +...

--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-08-13  5:47 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-23 13:26 [PATCH 1/2] dt-bindings: irq: Convert Allwinner IRQ Controller to a schema Maxime Ripard
2019-07-23 13:26 ` [PATCH 2/2] dt-bindings: irq: Convert Allwinner NMI " Maxime Ripard
2019-07-23 16:32   ` Rob Herring
2019-08-13  5:47     ` Maxime Ripard [this message]
2019-08-13 13:53       ` Rob Herring
2019-07-23 16:14 ` [PATCH 1/2] dt-bindings: irq: Convert Allwinner IRQ " Rob Herring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190813054738.ge2jdu6qn2vaoasd@flea \
    --to=maxime.ripard@bootlin.com \
    --cc=devicetree@vger.kernel.org \
    --cc=frowand.list@gmail.com \
    --cc=jason@lakedaemon.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=maz@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=wens@csie.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox