All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Subhajit Ghosh <subhajit.ghosh@tweaklogic.com>
Cc: Lars-Peter Clausen <lars@metafoo.de>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Matti Vaittinen <mazziesaccount@gmail.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Paul Gazzillo <paul@pgazz.com>, Matt Ranostay <matt@ranostay.sg>,
	Stefan Windfeldt-Prytz <stefan.windfeldt-prytz@axis.com>,
	linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/2] dt-bindings: iio: light: Avago APDS9306
Date: Sat, 28 Oct 2023 14:29:44 +0100	[thread overview]
Message-ID: <20231028142944.7e210eb6@jic23-huawei> (raw)
In-Reply-To: <20231027074545.6055-2-subhajit.ghosh@tweaklogic.com>

On Fri, 27 Oct 2023 18:15:44 +1030
Subhajit Ghosh <subhajit.ghosh@tweaklogic.com> wrote:

> v1 -> v2
> - No change
> 
> v0 -> v1
> - Squashing Avago (Broadcom) APDS9300 and APDS9960 schemas into one as
>   they look similar
> - Adding support for APDS9306 in the same schema file
The fact this belongs below the --- has already been mentioned.

These first two things are different types of change.
Patch 1: Combine bindings.
Patch 2: Add new device entry to combined binding
Patch 3: Add driver support.

> - Adding mandatory interrupt property requirement for APDS9960 as per the
>   driver's probe method which fails if interrupt bindings are not defined.
>   Both APDS9300 and APDS9306 (this patch set) supports sensors with and
>   without hardware interrupt bindings
> - In the device tree example, replacing interrupt type number with macro
>   from irq.h
> - Updated the vin to vdd which is the same for all the three sensors
> - Used proper "Datasheet:" tags
> 
> Signed-off-by: Subhajit Ghosh <subhajit.ghosh@tweaklogic.com>
> ---
>  .../bindings/iio/light/avago,apds9300.yaml    | 35 ++++++++++++---
>  .../bindings/iio/light/avago,apds9960.yaml    | 44 -------------------
>  2 files changed, 30 insertions(+), 49 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/iio/light/avago,apds9960.yaml
> 
> diff --git a/Documentation/devicetree/bindings/iio/light/avago,apds9300.yaml b/Documentation/devicetree/bindings/iio/light/avago,apds9300.yaml
> index 206af44f2c43..7a24a97d0594 100644
> --- a/Documentation/devicetree/bindings/iio/light/avago,apds9300.yaml
> +++ b/Documentation/devicetree/bindings/iio/light/avago,apds9300.yaml
> @@ -4,17 +4,26 @@
>  $id: http://devicetree.org/schemas/iio/light/avago,apds9300.yaml#
>  $schema: http://devicetree.org/meta-schemas/core.yaml#
>  
> -title: Avago APDS9300 ambient light sensor
> +title: Avago Gesture, RGB, ALS and Proximity sensors
>  
>  maintainers:
>    - Jonathan Cameron <jic23@kernel.org>
> +  - Matt Ranostay <matt@ranostay.sg>
> +  - Subhajit Ghosh <subhajit.ghosh@tweaklogic.com>
>  
>  description: |
> -  Datasheet at https://www.avagotech.com/docs/AV02-1077EN
> +  Avago (Broadcom) optical and proximity sensors with I2C interfaces.
> +  Datasheet: https://docs.broadcom.com/doc/AV02-1077EN
> +  Datasheet: https://docs.broadcom.com/doc/AV02-4191EN
> +  Datasheet: https://docs.broadcom.com/doc/AV02-4755EN
>  
>  properties:
>    compatible:
> -    const: avago,apds9300
> +    oneOf:
Don't need the oneOf.  Lots of examples of this in tree!

       enum:
         - ...

> +      - enum:
> +          - avago,apds9300
> +          - avago,apds9306
> +          - avago,apds9960
>  
>    reg:
>      maxItems: 1
> @@ -22,14 +31,30 @@ properties:
>    interrupts:
>      maxItems: 1
>  
> -additionalProperties: false
> +  vdd-supply: true
>  
>  required:
>    - compatible
>    - reg
>  
> +allOf:
> +  - $ref: ../common.yaml#
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - avago,apds9960
> +    then:
> +      required:
> +        - interrupts

It is very rare that a binding for a sensor 'requires' interrupts.
They are more commonly a nice to have.

Note that the driver failing doesn't mean the binding should change.
Unless there is a very strong requirement (polling can't be done for
some reason - or device is largely pointless with out the interrupt)
then we normally keep it optional in the binding.

Someone can fix the driver later if they care about it!

Also, if this fix is correct, it needs to be a precursor patch handing
just this tightening of the binding.  The rest of the series then goes
on top of that.

Jonathan


> +
> +additionalProperties: false
> +
>  examples:
>    - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +
>      i2c {
>          #address-cells = <1>;
>          #size-cells = <0>;
> @@ -38,7 +63,7 @@ examples:
>              compatible = "avago,apds9300";
>              reg = <0x39>;
>              interrupt-parent = <&gpio2>;
> -            interrupts = <29 8>;
> +            interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
>          };
>      };
>  ...
> diff --git a/Documentation/devicetree/bindings/iio/light/avago,apds9960.yaml b/Documentation/devicetree/bindings/iio/light/avago,apds9960.yaml
> deleted file mode 100644
> index f06e0fda5629..000000000000
> --- a/Documentation/devicetree/bindings/iio/light/avago,apds9960.yaml
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> -%YAML 1.2
> ----
> -$id: http://devicetree.org/schemas/iio/light/avago,apds9960.yaml#
> -$schema: http://devicetree.org/meta-schemas/core.yaml#
> -
> -title: Avago APDS9960 gesture/RGB/ALS/proximity sensor
> -
> -maintainers:
> -  - Matt Ranostay <matt.ranostay@konsulko.com>
> -
> -description: |
> -  Datasheet at https://www.avagotech.com/docs/AV02-4191EN
> -
> -properties:
> -  compatible:
> -    const: avago,apds9960
> -
> -  reg:
> -    maxItems: 1
> -
> -  interrupts:
> -    maxItems: 1
> -
> -additionalProperties: false
> -
> -required:
> -  - compatible
> -  - reg
> -
> -examples:
> -  - |
> -    i2c {
> -        #address-cells = <1>;
> -        #size-cells = <0>;
> -
> -        light-sensor@39 {
> -            compatible = "avago,apds9960";
> -            reg = <0x39>;
> -            interrupt-parent = <&gpio1>;
> -            interrupts = <16 1>;
> -        };
> -    };
> -...


  parent reply	other threads:[~2023-10-28 13:30 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-27  7:45 [PATCH v2 0/2] Support for Avago APDS9306 Ambient Light Sensor Subhajit Ghosh
2023-10-27  7:45 ` [PATCH v2 1/2] dt-bindings: iio: light: Avago APDS9306 Subhajit Ghosh
2023-10-27  8:11   ` Krzysztof Kozlowski
2023-10-27  8:55     ` Subhajit Ghosh
2023-10-27 11:03       ` Krzysztof Kozlowski
2023-10-28 13:29   ` Jonathan Cameron [this message]
2023-10-27  7:45 ` [PATCH v2 2/2] iio: light: Add support for APDS9306 Light Sensor Subhajit Ghosh
2023-10-27  8:13   ` Krzysztof Kozlowski
2023-10-27  8:42     ` Subhajit Ghosh
2023-10-27 11:04       ` Krzysztof Kozlowski
2023-10-27 11:42         ` Subhajit Ghosh
2023-10-28 13:36           ` Jonathan Cameron
2023-10-27 11:07   ` Andy Shevchenko
2023-10-27 11:36     ` Subhajit Ghosh
2023-10-28  6:29   ` kernel test robot
2023-10-28 15:20   ` Jonathan Cameron
2023-10-29 15:51     ` Matti Vaittinen
2023-10-30 10:21       ` Matti Vaittinen
2023-10-31  7:11         ` Matti Vaittinen
2023-10-31  8:20           ` Subhajit Ghosh
2023-10-31 10:38           ` Andy Shevchenko
2023-10-31 11:39             ` Matti Vaittinen
2023-10-31 12:07             ` Matti Vaittinen
2023-10-31 13:42               ` Andy Shevchenko
2023-11-01  6:16                 ` Matti Vaittinen
2023-11-02 12:50                   ` Andy Shevchenko
2023-10-31  8:38     ` Subhajit Ghosh
2023-11-06 11:13       ` Jonathan Cameron
2023-11-06 12:04         ` Subhajit Ghosh
2023-11-06 12:10           ` Matti Vaittinen
2023-12-04  9:51             ` Jonathan Cameron
2023-11-05 14:22   ` kernel test robot
2023-11-06 10:07     ` Andy Shevchenko

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=20231028142944.7e210eb6@jic23-huawei \
    --to=jic23@kernel.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt@ranostay.sg \
    --cc=mazziesaccount@gmail.com \
    --cc=paul@pgazz.com \
    --cc=robh+dt@kernel.org \
    --cc=stefan.windfeldt-prytz@axis.com \
    --cc=subhajit.ghosh@tweaklogic.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.