linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sam Ravnborg <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
To: Maxime Ripard <maxime-R63rPqgGiG5yDzI6CaY1VQ@public.gmane.org>
Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	Thierry Reding
	<thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Alexandre Courbot
	<acourbot-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	Andrzej Hajda <a.hajda-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
	Brian Masney <masneyb-1iNe0GrtECGEi8DpZVb4nw@public.gmane.org>,
	Chris Zhong <zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org>,
	Douglas Anderson
	<dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
	Guido Gunther <agx-wGvLLbajjwFAfugRpC6u6w@public.gmane.org>,
	Heiko Schocher <hs-ynQEQJNshbs@public.gmane.org>,
	Nikolaus Schaller <hns-xXXSsgcRVICgSpxsJD1C4w@public.gmane.org>,
	Hoegeun Kwon
	<hoegeun.kwon-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
	Jagan Teki
	<jagan-dyjBcgdgk7Pe9wHmmfpqLFaTQe2KTcn/@public.gmane.org>,
	Jerry Han
	<hanxu5-dyavHbARFqWrZjcNGxgArdPArS5jOdiE2SarAXORi/o@public.gmane.org>,
	Jonathan Bakker <xc-racer2-kt+e9JA1QaI@public.gmane.org>,
	Laurent Pinchart
	<laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>,
	Lin Huang <hl-TNX95d0MmH7DzftRWevZcw@public.gmane.org>,
	Linus Walleij
	<linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Marco Fr
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-2DbqMqoCcjvhXIiyNabO3w@public.gmane.org>

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-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
> > Cc: Maxime Ripard <maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org>
> > Cc: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> > Cc: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> > Cc: linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.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

  parent reply	other threads:[~2020-03-16 21:43 UTC|newest]

Thread overview: 84+ 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
     [not found] ` <20200315134416.16527-1-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
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
     [not found]     ` <20200315134416.16527-3-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-15 16:24       ` Linus Walleij
2020-03-16 12:02       ` Mark Brown
     [not found]         ` <20200316120239.GC5010-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2020-03-16 13:28           ` Sam Ravnborg
     [not found]             ` <20200316132844.GA22822-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-16 16:35               ` Mark Brown
     [not found]                 ` <20200316163538.GJ5010-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2020-03-16 18:57                   ` Sam Ravnborg
     [not found]                     ` <20200316185733.GA18307-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-16 20:14                       ` Mark Brown
2020-03-16 20:48       ` Maxime Ripard
     [not found]         ` <20200316204850.gggeyjulgiy53i7x-2DbqMqoCcjvhXIiyNabO3w@public.gmane.org>
2020-03-16 21:43           ` Sam Ravnborg [this message]
     [not found]             ` <20200316214346.GA23637-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
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
     [not found]     ` <20200315134416.16527-4-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-19  2:47       ` Rob Herring
2020-03-15 13:43   ` [PATCH v1 04/36] dt-bindings: display: convert arm,versatile-tft-panel " Sam Ravnborg
     [not found]     ` <20200315134416.16527-5-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-15 16:25       ` 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
     [not found]     ` <20200315134416.16527-7-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-15 18:54       ` Linus Walleij
     [not found]         ` <CACRpkdYVrTBKxuHSGpd9=03oD4=JVxzJf8fOcQ8uu5eRt9PgAg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-03-15 19:24           ` Sam Ravnborg
2020-03-15 13:43   ` [PATCH v1 07/36] dt-bindings: display: convert ilitek,ili9881c " Sam Ravnborg
     [not found]     ` <20200315134416.16527-8-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-18 22:06       ` Rob Herring
2020-03-15 13:43   ` [PATCH v1 08/36] dt-bindings: display: convert feiyang,fy07024di26a30d " Sam Ravnborg
     [not found]     ` <20200315134416.16527-9-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-18 10:46       ` Jagan Teki
     [not found]         ` <CAMty3ZD2kuD0nwWXDAD6R58Z2GFy1Ap7HfnEtYqwARQqs0nMfQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
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
     [not found]     ` <20200315134416.16527-12-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-16 20:41       ` Doug Anderson
2020-03-15 13:43   ` [PATCH v1 12/36] dt-bindings: display: convert jdi,lt070me05000 " Sam Ravnborg
     [not found]     ` <20200315134416.16527-13-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-16  8:59       ` 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-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
     [not found]     ` <20200315134416.16527-16-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-15 23:32       ` Brian Masney
2020-03-15 13:43   ` [PATCH v1 16/36] dt-bindings: display: convert lg,lg4573 " Sam Ravnborg
     [not found]     ` <20200315134416.16527-17-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-16  4:56       ` 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
     [not found]     ` <20200315134416.16527-18-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-16  7:51       ` Tomi Valkeinen
2020-03-15 13:43   ` [PATCH v1 18/36] dt-bindings: display: convert raydium,rm67191 " Sam Ravnborg
     [not found]     ` <20200315134416.16527-19-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-19  2:58       ` 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
     [not found]     ` <20200315134416.16527-20-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-15 17:58       ` 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
     [not found]     ` <20200315134416.16527-22-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-15 18:56       ` Linus Walleij
2020-03-15 13:44   ` [PATCH v1 22/36] dt-bindings: display: convert samsung,ld9040 " Sam Ravnborg
     [not found]     ` <20200315134416.16527-23-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
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
     [not found]     ` <20200315134416.16527-27-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
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
     [not found]     ` <20200315134416.16527-32-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-19  3:19       ` Rob Herring
2020-03-15 13:44   ` [PATCH v1 32/36] dt-bindings: display: convert sharp,ls037v7dw01 " Sam Ravnborg
     [not found]     ` <20200315134416.16527-33-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
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-15 13:44   ` [PATCH v1 35/36] dt-bindings: display: convert lgphilips,lb035q02 " Sam Ravnborg
     [not found]     ` <20200315134416.16527-36-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-16  7:57       ` Tomi Valkeinen
     [not found]         ` <a73da9d3-43b2-3ce7-85e9-8135dbf48e98-l0cyMroinI0@public.gmane.org>
2020-03-16  8:26           ` Sam Ravnborg
     [not found]             ` <20200316082607.GA18510-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-16  8:42               ` Tomi Valkeinen
     [not found]                 ` <a634d733-4b88-9d5a-09a1-c9551d8a077a-l0cyMroinI0@public.gmane.org>
2020-03-16  8:53                   ` Sam Ravnborg
     [not found]                     ` <20200316085311.GA19201-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-16  9:11                       ` Tomi Valkeinen
     [not found]                         ` <3bf96f0e-90a8-1513-800f-0168d912fd9f-l0cyMroinI0@public.gmane.org>
2020-03-17  6:45                           ` Sam Ravnborg
2020-03-15 13:44   ` [PATCH v1 36/36] dt-bindings: display: convert olimex,lcd-olinuxino " Sam Ravnborg
     [not found]     ` <20200315134416.16527-37-sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2020-03-19  3:11       ` 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-uyr5n9q2vtjg9huczpvpmw@public.gmane.org \
    --cc=a.hajda-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=acourbot-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=agx-wGvLLbajjwFAfugRpC6u6w@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
    --cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=hanxu5-dyavHbARFqWrZjcNGxgArdPArS5jOdiE2SarAXORi/o@public.gmane.org \
    --cc=hl-TNX95d0MmH7DzftRWevZcw@public.gmane.org \
    --cc=hns-xXXSsgcRVICgSpxsJD1C4w@public.gmane.org \
    --cc=hoegeun.kwon-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=hs-ynQEQJNshbs@public.gmane.org \
    --cc=jagan-dyjBcgdgk7Pe9wHmmfpqLFaTQe2KTcn/@public.gmane.org \
    --cc=laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org \
    --cc=linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=masneyb-1iNe0GrtECGEi8DpZVb4nw@public.gmane.org \
    --cc=maxime-R63rPqgGiG5yDzI6CaY1VQ@public.gmane.org \
    --cc=robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=xc-racer2-kt+e9JA1QaI@public.gmane.org \
    --cc=zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.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;
as well as URLs for NNTP newsgroup(s).