dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
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

  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).