From: Sam Ravnborg <sam@ravnborg.org>
To: Maxime Ripard <maxime@cerno.tech>
Cc: Maxime Ripard <maxime.ripard@bootlin.com>,
Nikolaus Schaller <hns@goldelico.com>,
Jonathan Bakker <xc-racer2@live.ca>,
Sandeep Panda <spanda@codeaurora.org>,
dri-devel@lists.freedesktop.org,
Paul Cercueil <paul@crapouillou.net>,
Andrzej Hajda <a.hajda@samsung.com>,
Thierry Reding <thierry.reding@gmail.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Chris Zhong <zyw@rock-chips.com>,
Marco Franchi <marco.franchi@nxp.com>,
Stefan Mavrodiev <stefan@olimex.com>,
Jerry Han <hanxu5@huaqin.corp-partner.google.com>,
Hoegeun Kwon <hoegeun.kwon@samsung.com>,
Tony Lindgren <tony@atomide.com>,
Nickey Yang <nickey.yang@rock-chips.com>,
Tomi Valkeinen <tomi.valkeinen@ti.com>,
Jagan Teki <jagan@amarulasolutions.com>,
Robert Chiras <robert.chiras@nxp.com>,
Vinay Simha BN <simhavcs@gmail.com>,
Marek Belisko <marek@goldelico.com>, Heiko Schocher <hs@denx.de>,
Brian Masney <masneyb@onstation.org>,
devicetree@vger.kernel.org, Guido Gunther <agx@sigxcpu.org>,
Mark Brown <broonie@kernel.org>,
Alexandre Courbot <acourbot@nvidia.com>,
Werner Johansson <werner.johansson@sonymobile.com>,
Purism Kernel Team <kernel@puri.sm>,
Peter Ujfalusi <peter.ujfalusi@ti.com>,
Lin Huang <hl@rock-chips.com>,
Douglas Anderson <dianders@chromium.org>,
linux-spi@vger.kernel.org, Peter Rosin <peda@axentia.se>
Subject: Re: [PATCH v1 02/36] dt-bindings: spi: support non-spi bindings as SPI slaves
Date: Mon, 16 Mar 2020 22:43:46 +0100 [thread overview]
Message-ID: <20200316214346.GA23637@ravnborg.org> (raw)
In-Reply-To: <20200316204850.gggeyjulgiy53i7x@gilmour.lan>
Hi Maxime.
On Mon, Mar 16, 2020 at 09:48:50PM +0100, Maxime Ripard wrote:
> Hi Sam,
>
> On Sun, Mar 15, 2020 at 02:43:42PM +0100, Sam Ravnborg wrote:
> > Independent bindings can be SPI slaves which for example is
> > the case for several panel bindings.
> >
> > Move SPI slave properties to spi-slave.yaml so the independent
> > SPI slave bindings can include spi-slave.yaml rather than
> > duplicating the properties.
> >
> > Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> > Cc: Maxime Ripard <maxime.ripard@bootlin.com>
> > Cc: Rob Herring <robh@kernel.org>
> > Cc: Mark Brown <broonie@kernel.org>
> > Cc: linux-spi@vger.kernel.org
> > ---
> > .../bindings/spi/spi-controller.yaml | 63 +-------------
> > .../devicetree/bindings/spi/spi-slave.yaml | 83 +++++++++++++++++++
> > 2 files changed, 86 insertions(+), 60 deletions(-)
> > create mode 100644 Documentation/devicetree/bindings/spi/spi-slave.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/spi/spi-controller.yaml b/Documentation/devicetree/bindings/spi/spi-controller.yaml
> > index 1e0ca6ccf64b..99531c8d10dd 100644
> > --- a/Documentation/devicetree/bindings/spi/spi-controller.yaml
> > +++ b/Documentation/devicetree/bindings/spi/spi-controller.yaml
> > @@ -67,71 +67,14 @@ patternProperties:
> > "^.*@[0-9a-f]+$":
> > type: object
> >
> > + allOf:
> > + - $ref: spi-slave.yaml#
> > +
> > properties:
> > compatible:
> > description:
> > Compatible of the SPI device.
> >
> > - reg:
> > - minimum: 0
> > - maximum: 256
> > - description:
> > - Chip select used by the device.
> > -
> > - spi-3wire:
> > - $ref: /schemas/types.yaml#/definitions/flag
> > - description:
> > - The device requires 3-wire mode.
> > -
> > - spi-cpha:
> > - $ref: /schemas/types.yaml#/definitions/flag
> > - description:
> > - The device requires shifted clock phase (CPHA) mode.
> > -
> > - spi-cpol:
> > - $ref: /schemas/types.yaml#/definitions/flag
> > - description:
> > - The device requires inverse clock polarity (CPOL) mode.
> > -
> > - spi-cs-high:
> > - $ref: /schemas/types.yaml#/definitions/flag
> > - description:
> > - The device requires the chip select active high.
> > -
> > - spi-lsb-first:
> > - $ref: /schemas/types.yaml#/definitions/flag
> > - description:
> > - The device requires the LSB first mode.
> > -
> > - spi-max-frequency:
> > - $ref: /schemas/types.yaml#/definitions/uint32
> > - description:
> > - Maximum SPI clocking speed of the device in Hz.
> > -
> > - spi-rx-bus-width:
> > - allOf:
> > - - $ref: /schemas/types.yaml#/definitions/uint32
> > - - enum: [ 1, 2, 4, 8 ]
> > - - default: 1
> > - description:
> > - Bus width to the SPI bus used for MISO.
> > -
> > - spi-rx-delay-us:
> > - description:
> > - Delay, in microseconds, after a read transfer.
> > -
> > - spi-tx-bus-width:
> > - allOf:
> > - - $ref: /schemas/types.yaml#/definitions/uint32
> > - - enum: [ 1, 2, 4, 8 ]
> > - - default: 1
> > - description:
> > - Bus width to the SPI bus used for MOSI.
> > -
> > - spi-tx-delay-us:
> > - description:
> > - Delay, in microseconds, after a write transfer.
> > -
>
> I can see what you're trying to do, but you don't really need to.
>
> All the SPI devices will be declared under a spi controller node that
> will validate its child nodes (and thus the devices) already.
This was the missing piece - thanks.
And as Mark put it "why is this suddenly an issue"?
Turns out this is already properly handled and I made up an issue.
Maybe Mark tried to explian it to me already...
>
> Doing it this way would actually make all the checks happen twice,
> once as part of the SPI controller, once as part of the SPI device
> binding, without any good reason.
I had focus on validating the example in the binding
file and not the full picture.
One thing I do not see properly addressed, but maybe I just miss it.
What triggers that we catch properties that are not supposed to be
present?
If we see a unsupported property "foobar":
spi {
...
panel {
....
foobar = <1>;
};
};
somewhere in a SPI slave binding we should catch this.
If for no other reasons that it could be a simple spelling mistake
that otherwise could go undetected for a long time.
But maybe this is really not feasible to do?
Sam
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2020-03-16 21:43 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-15 13:43 [PATCH v1 0/36] dt-bindings: display: convert remaning panel bindings to DT Schema Sam Ravnborg
2020-03-15 13:43 ` [PATCH v1 01/36] dt-bindings: display: add te-gpios to panel-common Sam Ravnborg
2020-03-15 13:43 ` [PATCH v1 02/36] dt-bindings: spi: support non-spi bindings as SPI slaves Sam Ravnborg
2020-03-15 16:24 ` Linus Walleij
2020-03-16 12:02 ` Mark Brown
2020-03-16 13:28 ` Sam Ravnborg
2020-03-16 16:35 ` Mark Brown
2020-03-16 18:57 ` Sam Ravnborg
2020-03-16 20:14 ` Mark Brown
2020-03-16 20:48 ` Maxime Ripard
2020-03-16 21:43 ` Sam Ravnborg [this message]
2020-03-17 9:02 ` Maxime Ripard
2020-03-17 11:39 ` Mark Brown
2020-03-15 13:43 ` [PATCH v1 03/36] dt-bindings: display: convert samsung, s6e63m0 to DT Schema Sam Ravnborg
2020-03-19 2:47 ` [PATCH v1 03/36] dt-bindings: display: convert samsung,s6e63m0 " Rob Herring
2020-03-15 13:43 ` [PATCH v1 04/36] dt-bindings: display: convert arm, versatile-tft-panel " Sam Ravnborg
2020-03-15 16:25 ` [PATCH v1 04/36] dt-bindings: display: convert arm,versatile-tft-panel " Linus Walleij
2020-03-19 2:48 ` Rob Herring
2020-03-15 13:43 ` [PATCH v1 05/36] dt-bindings: display: convert boe, himax8279d " Sam Ravnborg
2020-03-15 13:43 ` [PATCH v1 06/36] dt-bindings: display: convert ilitek, ili9322 " Sam Ravnborg
2020-03-15 18:54 ` Linus Walleij
2020-03-15 19:24 ` Sam Ravnborg
2020-03-15 13:43 ` [PATCH v1 07/36] dt-bindings: display: convert ilitek, ili9881c " Sam Ravnborg
2020-03-18 22:06 ` [PATCH v1 07/36] dt-bindings: display: convert ilitek,ili9881c " Rob Herring
2020-03-15 13:43 ` [PATCH v1 08/36] dt-bindings: display: convert feiyang, fy07024di26a30d " Sam Ravnborg
2020-03-18 10:46 ` [PATCH v1 08/36] dt-bindings: display: convert feiyang,fy07024di26a30d " Jagan Teki
2020-03-18 11:00 ` Sam Ravnborg
2020-03-15 13:43 ` [PATCH v1 09/36] dt-bindings: display: convert innolux, p079zca " Sam Ravnborg
2020-03-15 13:43 ` [PATCH v1 10/36] dt-bindings: display: convert innolux, p097pfg " Sam Ravnborg
2020-03-15 13:43 ` [PATCH v1 11/36] dt-bindings: display: convert innolux, p120zdg-bf1 " Sam Ravnborg
2020-03-16 20:41 ` [PATCH v1 11/36] dt-bindings: display: convert innolux,p120zdg-bf1 " Doug Anderson
2020-03-15 13:43 ` [PATCH v1 12/36] dt-bindings: display: convert jdi, lt070me05000 " Sam Ravnborg
2020-03-16 8:59 ` [PATCH v1 12/36] dt-bindings: display: convert jdi,lt070me05000 " Vinay Simha B N
2020-03-19 2:53 ` Rob Herring
2020-03-15 13:43 ` [PATCH v1 13/36] dt-bindings: display: convert kingdisplay, kd035g6-54nt " Sam Ravnborg
2020-03-17 11:32 ` [PATCH v1 13/36] dt-bindings: display: convert kingdisplay,kd035g6-54nt " Paul Cercueil
2020-03-15 13:43 ` [PATCH v1 14/36] dt-bindings: display: convert kingdisplay, kd097d04 " Sam Ravnborg
2020-03-15 13:43 ` [PATCH v1 15/36] dt-bindings: display: convert simple lg panels " Sam Ravnborg
2020-03-15 23:32 ` Brian Masney
2020-03-15 13:43 ` [PATCH v1 16/36] dt-bindings: display: convert lg, lg4573 " Sam Ravnborg
2020-03-16 4:56 ` [PATCH v1 16/36] dt-bindings: display: convert lg,lg4573 " Heiko Schocher
2020-03-19 2:56 ` Rob Herring
2020-03-15 13:43 ` [PATCH v1 17/36] dt-bindings: display: convert osddisplays, osd101t2587-53ts " Sam Ravnborg
2020-03-16 7:51 ` [PATCH v1 17/36] dt-bindings: display: convert osddisplays,osd101t2587-53ts " Tomi Valkeinen
2020-03-15 13:43 ` [PATCH v1 18/36] dt-bindings: display: convert raydium, rm67191 " Sam Ravnborg
2020-03-19 2:58 ` [PATCH v1 18/36] dt-bindings: display: convert raydium,rm67191 " Rob Herring
2020-03-19 3:22 ` Rob Herring
2020-03-15 13:43 ` [PATCH v1 19/36] dt-bindings: display: convert rocktech, jh057n00900 " Sam Ravnborg
2020-03-15 17:58 ` [PATCH v1 19/36] dt-bindings: display: convert rocktech,jh057n00900 " Guido Günther
2020-03-15 13:44 ` [PATCH v1 20/36] dt-bindings: display: convert samsung AMOLED " Sam Ravnborg
2020-03-15 13:44 ` [PATCH v1 21/36] dt-bindings: display: convert samsung, s6d16d0 " Sam Ravnborg
2020-03-15 18:56 ` Linus Walleij
2020-03-15 13:44 ` [PATCH v1 22/36] dt-bindings: display: convert samsung, ld9040 " Sam Ravnborg
2020-03-19 3:01 ` Rob Herring
2020-03-15 13:44 ` [PATCH v1 23/36] dt-bindings: display: convert samsung, s6e8aa0 " Sam Ravnborg
2020-03-15 13:44 ` [PATCH v1 24/36] dt-bindings: display: convert toppoly panels " Sam Ravnborg
2020-03-15 13:44 ` [PATCH v1 25/36] dt-bindings: display: convert startek, startek-kd050c " Sam Ravnborg
2020-03-15 13:44 ` [PATCH v1 26/36] dt-bindings: display: convert sony, acx565akm " Sam Ravnborg
2020-03-17 6:23 ` Tomi Valkeinen
2020-03-19 3:03 ` Rob Herring
2020-03-15 13:44 ` [PATCH v1 27/36] dt-bindings: display: convert sitronix, st7701 " Sam Ravnborg
2020-03-15 13:44 ` [PATCH v1 28/36] dt-bindings: display: convert sitronix, st7789v " Sam Ravnborg
2020-03-15 13:44 ` [PATCH v1 29/36] dt-bindings: display: drop unused simple-panel.txt Sam Ravnborg
2020-03-15 13:44 ` [PATCH v1 30/36] dt-bindings: display: convert sharp, ls043t1le01 to DT Schema Sam Ravnborg
2020-03-15 13:44 ` [PATCH v1 31/36] dt-bindings: display: convert sharp, lq101r1sx01 " Sam Ravnborg
2020-03-19 3:19 ` Rob Herring
2020-03-15 13:44 ` [PATCH v1 32/36] dt-bindings: display: convert sharp, ls037v7dw01 " Sam Ravnborg
2020-03-19 3:07 ` Rob Herring
2020-03-29 19:03 ` Sam Ravnborg
2020-03-31 17:20 ` Rob Herring
2020-03-31 19:13 ` Sam Ravnborg
2020-03-31 20:57 ` Rob Herring
2020-03-15 13:44 ` [PATCH v1 33/36] dt-bindings: display: convert sharp, lq150x1lg11 " Sam Ravnborg
2020-03-15 13:44 ` [PATCH v1 34/36] dt-bindings: display: convert seiko, 43wvf1g " Sam Ravnborg
2020-03-16 14:13 ` [PATCH v1 34/36] dt-bindings: display: convert seiko,43wvf1g " Marco Franchi
2020-03-15 13:44 ` [PATCH v1 35/36] dt-bindings: display: convert lgphilips, lb035q02 " Sam Ravnborg
2020-03-16 7:57 ` Tomi Valkeinen
2020-03-16 8:26 ` [PATCH v1 35/36] dt-bindings: display: convert lgphilips,lb035q02 " Sam Ravnborg
2020-03-16 8:42 ` [PATCH v1 35/36] dt-bindings: display: convert lgphilips, lb035q02 " Tomi Valkeinen
2020-03-16 8:53 ` [PATCH v1 35/36] dt-bindings: display: convert lgphilips,lb035q02 " Sam Ravnborg
2020-03-16 9:11 ` [PATCH v1 35/36] dt-bindings: display: convert lgphilips, lb035q02 " Tomi Valkeinen
2020-03-17 6:45 ` [PATCH v1 35/36] dt-bindings: display: convert lgphilips,lb035q02 " Sam Ravnborg
2020-03-15 13:44 ` [PATCH v1 36/36] dt-bindings: display: convert olimex, lcd-olinuxino " Sam Ravnborg
2020-03-19 3:11 ` [PATCH v1 36/36] dt-bindings: display: convert olimex,lcd-olinuxino " Rob Herring
2020-03-19 3:25 ` [PATCH v1 0/36] dt-bindings: display: convert remaning panel bindings " Rob Herring
2020-03-19 6:42 ` Sam Ravnborg
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=20200316214346.GA23637@ravnborg.org \
--to=sam@ravnborg.org \
--cc=a.hajda@samsung.com \
--cc=acourbot@nvidia.com \
--cc=agx@sigxcpu.org \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=hanxu5@huaqin.corp-partner.google.com \
--cc=hl@rock-chips.com \
--cc=hns@goldelico.com \
--cc=hoegeun.kwon@samsung.com \
--cc=hs@denx.de \
--cc=jagan@amarulasolutions.com \
--cc=kernel@puri.sm \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-spi@vger.kernel.org \
--cc=marco.franchi@nxp.com \
--cc=marek@goldelico.com \
--cc=masneyb@onstation.org \
--cc=maxime.ripard@bootlin.com \
--cc=maxime@cerno.tech \
--cc=nickey.yang@rock-chips.com \
--cc=paul@crapouillou.net \
--cc=peda@axentia.se \
--cc=peter.ujfalusi@ti.com \
--cc=robert.chiras@nxp.com \
--cc=simhavcs@gmail.com \
--cc=spanda@codeaurora.org \
--cc=stefan@olimex.com \
--cc=thierry.reding@gmail.com \
--cc=tomi.valkeinen@ti.com \
--cc=tony@atomide.com \
--cc=werner.johansson@sonymobile.com \
--cc=xc-racer2@live.ca \
--cc=zyw@rock-chips.com \
/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;
as well as URLs for NNTP newsgroup(s).