lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 24 May 2019 21:28:02 -0300
From:   Renato Lui Geh <renatogeh@...il.com>
To:     "Ardelean, Alexandru" <alexandru.Ardelean@...log.com>
Cc:     "renatogeh@...il.com" <renatogeh@...il.com>,
        "jic23@...nel.org" <jic23@...nel.org>,
        "kernel-usp@...glegroups.com" <kernel-usp@...glegroups.com>,
        "lars@...afoo.de" <lars@...afoo.de>,
        "robh+dt@...nel.org" <robh+dt@...nel.org>,
        "Popa, Stefan Serban" <StefanSerban.Popa@...log.com>,
        "knaack.h@....de" <knaack.h@....de>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
        "Hennerich, Michael" <Michael.Hennerich@...log.com>,
        "linux-iio@...r.kernel.org" <linux-iio@...r.kernel.org>,
        "devel@...verdev.osuosl.org" <devel@...verdev.osuosl.org>,
        "mark.rutland@....com" <mark.rutland@....com>,
        "pmeerw@...erw.net" <pmeerw@...erw.net>,
        "gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>
Subject: Re: [PATCH] dt-bindings: iio: adc: add adi,ad7780.yaml binding

Hi Jonathan, Alex,

Thanks for the review. Some comments inline.

Thanks,
Renato

On 05/20, Ardelean, Alexandru wrote:
>On Sun, 2019-05-19 at 12:32 +0100, Jonathan Cameron wrote:
>> [External]
>>
>>
>> On Sat, 18 May 2019 19:41:12 -0300
>> Renato Lui Geh <renatogeh@...il.com> wrote:
>>
>> > This patch adds a YAML binding for the Analog Devices AD7780/1 and
>> > AD7170/1 analog-to-digital converters.
>> >
>> > Signed-off-by: Renato Lui Geh <renatogeh@...il.com>
>>
>> One comment inline.  I'll also be needing an ack from Analog on this,
>> preferably Michael's.
>>
>> Thanks,
>>
>> Jonathan
>> > ---
>> >  .../bindings/iio/adc/adi,ad7780.txt           | 48 -----------
>> >  .../bindings/iio/adc/adi,ad7780.yaml          | 85 +++++++++++++++++++
>
>You should also update the MAINTAINERS file.
>Maybe in a following patch.
>It looks like there is not entry in there, so maybe you need to add a new
>one.
>
>Something like:
>
>
>ANALOG DEVICES INC AD7780 DRIVER
>M:      Michael Hennerich <Michael.Hennerich@...log.com>
>M:      Renato Lui Geh <renatogeh@...il.com>
>L:      linux-iio@...r.kernel.org
>W:      http://ez.analog.com/community/linux-device-drivers
>S:      Supported
>F:      drivers/iio/adc/ad7780.c
>F:      Documentation/devicetree/bindings/iio/adc/adi,ad7780.yaml
>
>This should be after this block
>ANALOG DEVICES INC AD7768-1 DRIVER
>
>Note that I added you as a co-maintainer.
>If you want, you do not need to add that line.
>
>> >  2 files changed, 85 insertions(+), 48 deletions(-)
>> >  delete mode 100644
>> > Documentation/devicetree/bindings/iio/adc/adi,ad7780.txt
>> >  create mode 100644
>> > Documentation/devicetree/bindings/iio/adc/adi,ad7780.yaml
>> >
>> > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7780.txt
>> > b/Documentation/devicetree/bindings/iio/adc/adi,ad7780.txt
>> > deleted file mode 100644
>> > index 440e52555349..000000000000
>> > --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7780.txt
>> > +++ /dev/null
>> > @@ -1,48 +0,0 @@
>> > -* Analog Devices AD7170/AD7171/AD7780/AD7781
>> > -
>> > -Data sheets:
>> > -
>> > -- AD7170:
>> > -     *
>> > https://www.analog.com/media/en/technical-documentation/data-sheets/AD7170.pdf
>> > -- AD7171:
>> > -     *
>> > https://www.analog.com/media/en/technical-documentation/data-sheets/AD7171.pdf
>> > -- AD7780:
>> > -     *
>> > https://www.analog.com/media/en/technical-documentation/data-sheets/ad7780.pdf
>> > -- AD7781:
>> > -     *
>> > https://www.analog.com/media/en/technical-documentation/data-sheets/AD7781.pdf
>> > -
>> > -Required properties:
>> > -
>> > -- compatible: should be one of
>> > -     * "adi,ad7170"
>> > -     * "adi,ad7171"
>> > -     * "adi,ad7780"
>> > -     * "adi,ad7781"
>> > -- reg: spi chip select number for the device
>> > -- vref-supply: the regulator supply for the ADC reference voltage
>> > -
>> > -Optional properties:
>> > -
>> > -- powerdown-gpios:  must be the device tree identifier of the PDRST
>> > pin. If
>> > -                 specified, it will be asserted during driver probe.
>> > As the
>> > -                 line is active high, it should be marked
>> > GPIO_ACTIVE_HIGH.
>> > -- adi,gain-gpios:   must be the device tree identifier of the GAIN
>> > pin. Only for
>> > -                 the ad778x chips. If specified, it will be asserted
>> > during
>> > -                 driver probe. As the line is active low, it should be
>> > marked
>> > -                 GPIO_ACTIVE_LOW.
>> > -- adi,filter-gpios: must be the device tree identifier of the FILTER
>> > pin. Only
>> > -                 for the ad778x chips. If specified, it will be
>> > asserted
>> > -                 during driver probe. As the line is active low, it
>> > should be
>> > -                 marked GPIO_ACTIVE_LOW.
>> > -
>> > -Example:
>> > -
>> > -adc@0 {
>> > -     compatible =  "adi,ad7780";
>> > -     reg =         <0>;
>> > -     vref-supply = <&vdd_supply>
>> > -
>> > -     powerdown-gpios  = <&gpio 12 GPIO_ACTIVE_HIGH>;
>> > -     adi,gain-gpios   = <&gpio  5 GPIO_ACTIVE_LOW>;
>> > -     adi,filter-gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
>> > -};
>> > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7780.yaml
>> > b/Documentation/devicetree/bindings/iio/adc/adi,ad7780.yaml
>> > new file mode 100644
>> > index 000000000000..931bc4f8ec04
>> > --- /dev/null
>> > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7780.yaml
>> > @@ -0,0 +1,85 @@
>> > +# SPDX-License-Identifier: GPL-2.0
>> > +%YAML 1.2
>> > +---
>> > +$id: http://devicetree.org/schemas/iio/adc/adi,ad7780.yaml#
>> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> > +
>> > +title: Analog Devices AD7170/AD7171/AD7780/AD7781 analog to digital
>> > converters
>> > +
>> > +maintainers:
>> > +  - Michael Hennerich <michael.hennerich@...log.com>
>> > +
>> > +description: |
>> > +  The ad7780 is a sigma-delta analog to digital converter. This driver
>> > provides
>> > +  reading voltage values and status bits from both the ad778x and
>> > ad717x series.
>> > +  Its interface also allows writing on the FILTER and GAIN GPIO pins
>> > on the
>> > +  ad778x.
>> > +
>> > +  Specifications on the converters can be found at:
>> > +    AD7170:
>> > +
>> > https://www.analog.com/media/en/technical-documentation/data-sheets/AD7170.pdf
>> > +    AD7171:
>> > +
>> > https://www.analog.com/media/en/technical-documentation/data-sheets/AD7171.pdf
>> > +    AD7780:
>> > +
>> > https://www.analog.com/media/en/technical-documentation/data-sheets/ad7780.pdf
>> > +    AD7781:
>> > +
>> > https://www.analog.com/media/en/technical-documentation/data-sheets/AD7781.pdf
>> > +
>> > +properties:
>> > +  compatible:
>> > +    enum:
>> > +      - adi,ad7170
>> > +      - adi,ad7171
>> > +      - adi,ad7780
>> > +      - adi,ad7781
>> > +
>> > +  reg:
>> > +    description:
>> > +      Chip select number for the device
>
>No need to add a description.
>This is pretty standard.
>
>> > +    maxItems: 1
>> > +
>> > +  vref-supply:
>> > +    description:
>> > +      The regulator supply for the ADC reference voltage
>> > +    maxItems: 1
>> > +
>
>As I see in the driver, it's not vref-supply, it's avdd-supply.

You're absolutely right. Shouldn't have mindlessly copied
from the txt, even though the txt's was also my fault.

By the way, a quick look at ad7170 and ad7780's datasheets
shows that the 7170 uses VDD, and the 7780, AVDD. Are they
equivalent?
>
>> > +  powerdown-gpios:
>> > +    description:
>> > +      Must be the device tree identifier of the PDRST pin. If
>> > +      specified, it will be asserted during driver probe. As the
>> > +      line is active high, it should be marked GPIO_ACTIVE_HIGH.
>> > +    maxItems: 1
>> > +
>> > +  adi,gain-gpios:
>> > +    description:
>> > +      Must be the device tree identifier of the GAIN pin. Only for
>> > +      the ad778x chips. If specified, it will be asserted during
>> > +      driver probe. As the line is active low, it should be marked
>> > +      GPIO_ACTIVE_LOW.
>> > +    maxItems: 1
>> > +
>> > +  adi,filter-gpios:
>> > +    description:
>> > +      Must be the device tree identifier of the FILTER pin. Only
>> > +      for the ad778x chips. If specified, it will be asserted
>> > +      during driver probe. As the line is active low, it should be
>> > +      marked GPIO_ACTIVE_LOW.
>> > +    maxItems: 1
>> > +
>> > +required:
>> > +  - compatible
>> > +  - reg
>> > +  - vref-supply
>>
>> Is that actually true?  I'd imagine it'll use a stub regulator if
>> it isn't supplied.
>
>Hmm, I also think this can be omitted as required.
>devm_regulator_get() is used.
>devm_regulator_get_exclusive() would be needed to make this required.

I see. So the difference between devm_regulator_get and
devm_regulator_get_optional is that the former uses a stub
when the requested reg isn't supplied, and the latter
doesn't?
>
>>
>> > +
>> > +examples:
>> > +  - |
>> > +    #include <dt-bindings/gpio/gpio.h>
>> > +    adc@0 {
>
>The adc@0 block should be included in a spi block.
>
>So, something like
>
>spi0 {
>     adc@0 {
>            compatible =  "adi,ad7780";
>            reg =         <0>;
>            avdd-supply = <&vdd_supply>
>
>            powerdown-gpios  = <&gpio 12 GPIO_ACTIVE_HIGH>;
>            adi,gain-gpios   = <&gpio  5 GPIO_ACTIVE_LOW>;
>            adi,filter-gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
>     };
>};
>
>I know this wasn't the case before, but it should be (from what I recall).
>
>> > +      compatible =  "adi,ad7780";
>> > +      reg = <0>;
>> > +      vref-supply = <&vdd_supply>;
>> > +
>> > +      powerdown-gpios  = <&gpio0 12 GPIO_ACTIVE_HIGH>;
>> > +      adi,gain-gpios   = <&gpio1  5 GPIO_ACTIVE_LOW>;
>> > +      adi,filter-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>;
>
>Rest looks good.
>
>Thanks
>Alex
>
>> > +    };
>>
>>

Powered by blists - more mailing lists