Linux I2C development
 help / color / mirror / Atom feed
From: Serge Semin <fancer.lancer@gmail.com>
To: Patrick Rudolph <patrick.rudolph@9elements.com>
Cc: Peter Rosin <peda@axentia.se>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	robh@kernel.org, wsa@kernel.org, Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	linux-i2c@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [v9 1/4] dt-bindings: i2c: Add Maxim MAX735x/MAX736x variants
Date: Sat, 8 Oct 2022 14:50:19 +0300	[thread overview]
Message-ID: <20221008115019.6jxsbawtye7cdkfh@mobilestation> (raw)
In-Reply-To: <20221007075354.568752-2-patrick.rudolph@9elements.com>

On Fri, Oct 07, 2022 at 09:53:50AM +0200, Patrick Rudolph wrote:
> Update the pca954x bindings to add support for the Maxim MAX735x/MAX736x
> chips. The functionality will be provided by the exisintg pca954x driver.
> 
> While on it make the interrupts support conditionally as not all of the
> existing chips have interrupts.
> 
> For chips that are powered off by default add an optional regulator
> called vdd-supply.
> 
> Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
> ---
>  .../bindings/i2c/i2c-mux-pca954x.yaml         | 39 ++++++++++++++++---
>  1 file changed, 34 insertions(+), 5 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
> index 9f1726d0356b..efad0a95806f 100644
> --- a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
> +++ b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
> @@ -4,21 +4,25 @@
>  $id: http://devicetree.org/schemas/i2c/i2c-mux-pca954x.yaml#
>  $schema: http://devicetree.org/meta-schemas/core.yaml#
>  
> -title: NXP PCA954x I2C bus switch
> +title: NXP PCA954x I2C and compatible bus switches
>  
>  maintainers:
>    - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>  
>  description:
> -  The binding supports NXP PCA954x and PCA984x I2C mux/switch devices.
> -

> -allOf:
> -  - $ref: /schemas/i2c/i2c-mux.yaml#

Why do you move the allOf statement to the bottom of the schema?

> +  The binding supports NXP PCA954x and PCA984x I2C mux/switch devices,
> +  and the Maxim MAX735x and MAX736x I2C mux/switch devices.

What about combining the sentence: "The binding supports NXP
PCA954x/PCA984x and Maxim MAX735x/MAX736x I2C mux/switch devices." ?
Currently it does look a bit bulky.

>  
>  properties:
>    compatible:
>      oneOf:
>        - enum:
> +          - maxim,max7356
> +          - maxim,max7357
> +          - maxim,max7358
> +          - maxim,max7367
> +          - maxim,max7368
> +          - maxim,max7369
>            - nxp,pca9540
>            - nxp,pca9542
>            - nxp,pca9543
> @@ -59,10 +63,33 @@ properties:
>      description: if present, overrides i2c-mux-idle-disconnect
>      $ref: /schemas/mux/mux-controller.yaml#/properties/idle-state
>  
> +  vdd-supply:
> +    description: A voltage regulator supplying power to the chip.
> +
>  required:
>    - compatible
>    - reg
>  
> +allOf:
> +  - $ref: /schemas/i2c/i2c-mux.yaml#
> +  - if:
> +      not:
> +        properties:
> +          compatible:
> +            contains:
> +              enum:
> +                - maxim,max7367
> +                - maxim,max7369
> +                - nxp,pca9542
> +                - nxp,pca9543
> +                - nxp,pca9544
> +                - nxp,pca9545
> +    then:

> +      properties:
> +        interrupts: false
> +        "#interrupt-cells": false
> +        interrupt-controller: false

I'd suggest to add an opposite definition. Evaluate the properties for
the devices which expect them being evaluated instead of falsing their
existence for the devices which don't support the interrupts.

-Sergey

> +
>  unevaluatedProperties: false
>  
>  examples:
> @@ -79,6 +106,8 @@ examples:
>              #size-cells = <0>;
>              reg = <0x74>;
>  
> +            vdd-supply = <&p3v3>;
> +
>              interrupt-parent = <&ipic>;
>              interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
>              interrupt-controller;
> -- 
> 2.37.3
> 

  reply	other threads:[~2022-10-08 11:50 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-07  7:53 [v9 0/4] Add support for Maxim MAX735x/MAX736x variants Patrick Rudolph
2022-10-07  7:53 ` [v9 1/4] dt-bindings: i2c: Add " Patrick Rudolph
2022-10-08 11:50   ` Serge Semin [this message]
2022-10-09 15:25     ` Krzysztof Kozlowski
2022-10-09 18:03       ` Serge Semin
2022-10-10 10:26         ` Krzysztof Kozlowski
2022-10-07  7:53 ` [v9 2/4] i2c: muxes: pca954x: Add MAX735x/MAX736x support Patrick Rudolph
2022-10-07  7:53 ` [v9 3/4] i2c: muxes: pca954x: Configure MAX7357 in enhanced mode Patrick Rudolph
2022-10-08 12:54   ` Serge Semin
2022-10-09 16:36     ` Peter Rosin
2022-10-09 18:13       ` Serge Semin
2022-10-07  7:53 ` [v9 4/4] i2c: muxes: pca954x: Add regulator support Patrick Rudolph
2022-10-08 16:07   ` Serge Semin

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=20221008115019.6jxsbawtye7cdkfh@mobilestation \
    --to=fancer.lancer@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=patrick.rudolph@9elements.com \
    --cc=peda@axentia.se \
    --cc=robh+dt@kernel.org \
    --cc=robh@kernel.org \
    --cc=wsa@kernel.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