* iio:adc:ltc2371: add support for ltc2361/ltc2363
@ 2020-07-27 13:58 Darius Berghe
2020-07-27 13:58 ` [PATCH v3 1/3] ltc2471: add of_match_table for existing devices Darius Berghe
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Darius Berghe @ 2020-07-27 13:58 UTC (permalink / raw)
To: linux-iio, linux-kernel, devicetree; +Cc: jic23, robh
Changelog v2->v3:
No changes, adding dt maillist to CC.
Changelog v1->v2:
- document power supply in yaml
- reorder enums in alphabetical order
- add missing include
- drop the of_match_ptr protection
Darius Berghe (3):
ltc2471: add of_match_table for existing devices
ltc2471: ltc2461/ltc2463 compatible strings
ltc2471 driver yaml
.../bindings/iio/adc/adi,ltc2471.yaml | 49 +++++++++++++++++++
drivers/iio/adc/ltc2471.c | 25 ++++++++--
2 files changed, 70 insertions(+), 4 deletions(-)
create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ltc2471.yaml
--
2.27.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3 1/3] ltc2471: add of_match_table for existing devices
2020-07-27 13:58 iio:adc:ltc2371: add support for ltc2361/ltc2363 Darius Berghe
@ 2020-07-27 13:58 ` Darius Berghe
2020-07-27 13:58 ` [PATCH v3 2/3] ltc2471: ltc2461/ltc2463 compatible strings Darius Berghe
2020-07-27 13:58 ` [PATCH v3 3/3] ltc2471 driver yaml Darius Berghe
2 siblings, 0 replies; 9+ messages in thread
From: Darius Berghe @ 2020-07-27 13:58 UTC (permalink / raw)
To: linux-iio, linux-kernel, devicetree; +Cc: jic23, robh
OF style match table was missing, this commit adds it.
Signed-off-by: Darius Berghe <darius.berghe@analog.com>
---
drivers/iio/adc/ltc2471.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/iio/adc/ltc2471.c b/drivers/iio/adc/ltc2471.c
index b88102b751cf..e1c4e966524d 100644
--- a/drivers/iio/adc/ltc2471.c
+++ b/drivers/iio/adc/ltc2471.c
@@ -14,6 +14,7 @@
#include <linux/module.h>
#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>
+#include <linux/mod_devicetable.h>
enum ltc2471_chips {
ltc2471,
@@ -144,9 +145,17 @@ static const struct i2c_device_id ltc2471_i2c_id[] = {
};
MODULE_DEVICE_TABLE(i2c, ltc2471_i2c_id);
+static const struct of_device_id ltc2471_of_match[] = {
+ { .compatible = "adi,ltc2471" },
+ { .compatible = "adi,ltc2473" },
+ {}
+};
+MODULE_DEVICE_TABLE(of, ltc2471_of_match);
+
static struct i2c_driver ltc2471_i2c_driver = {
.driver = {
.name = "ltc2471",
+ .of_match_table = ltc2471_of_match
},
.probe = ltc2471_i2c_probe,
.id_table = ltc2471_i2c_id,
--
2.27.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v3 2/3] ltc2471: ltc2461/ltc2463 compatible strings
2020-07-27 13:58 iio:adc:ltc2371: add support for ltc2361/ltc2363 Darius Berghe
2020-07-27 13:58 ` [PATCH v3 1/3] ltc2471: add of_match_table for existing devices Darius Berghe
@ 2020-07-27 13:58 ` Darius Berghe
2020-07-27 17:26 ` Jonathan Cameron
2020-07-27 13:58 ` [PATCH v3 3/3] ltc2471 driver yaml Darius Berghe
2 siblings, 1 reply; 9+ messages in thread
From: Darius Berghe @ 2020-07-27 13:58 UTC (permalink / raw)
To: linux-iio, linux-kernel, devicetree; +Cc: jic23, robh
Add compatible strings for these devices in the existing ltc2471
driver.
Signed-off-by: Darius Berghe <darius.berghe@analog.com>
---
drivers/iio/adc/ltc2471.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/drivers/iio/adc/ltc2471.c b/drivers/iio/adc/ltc2471.c
index e1c4e966524d..8c57203b1fe4 100644
--- a/drivers/iio/adc/ltc2471.c
+++ b/drivers/iio/adc/ltc2471.c
@@ -1,5 +1,7 @@
/*
- * Driver for Linear Technology LTC2471 and LTC2473 voltage monitors
+ * Driver for Linear Technology LTC2461, LTC2463, LTC2471 and LTC2473 voltage
+ * monitors.
+ * The LTC2463 is identical to the 2461, but reports a differential signal.
* The LTC2473 is identical to the 2471, but reports a differential signal.
*
* Copyright (C) 2017 Topic Embedded Products
@@ -17,8 +19,10 @@
#include <linux/mod_devicetable.h>
enum ltc2471_chips {
+ ltc2461,
+ ltc2463,
ltc2471,
- ltc2473,
+ ltc2473
};
struct ltc2471_data {
@@ -122,7 +126,7 @@ static int ltc2471_i2c_probe(struct i2c_client *client,
indio_dev->name = id->name;
indio_dev->info = <c2471_info;
indio_dev->modes = INDIO_DIRECT_MODE;
- if (id->driver_data == ltc2473)
+ if (id->driver_data == ltc2473 || id->driver_data == ltc2463)
indio_dev->channels = ltc2473_channel;
else
indio_dev->channels = ltc2471_channel;
@@ -139,6 +143,8 @@ static int ltc2471_i2c_probe(struct i2c_client *client,
}
static const struct i2c_device_id ltc2471_i2c_id[] = {
+ { "ltc2461", ltc2461 },
+ { "ltc2463", ltc2463 },
{ "ltc2471", ltc2471 },
{ "ltc2473", ltc2473 },
{}
@@ -146,6 +152,8 @@ static const struct i2c_device_id ltc2471_i2c_id[] = {
MODULE_DEVICE_TABLE(i2c, ltc2471_i2c_id);
static const struct of_device_id ltc2471_of_match[] = {
+ { .compatible = "adi,ltc2461" },
+ { .compatible = "adi,ltc2463" },
{ .compatible = "adi,ltc2471" },
{ .compatible = "adi,ltc2473" },
{}
@@ -163,6 +171,6 @@ static struct i2c_driver ltc2471_i2c_driver = {
module_i2c_driver(ltc2471_i2c_driver);
-MODULE_DESCRIPTION("LTC2471/LTC2473 ADC driver");
+MODULE_DESCRIPTION("LTC2461/LTC2463/LTC2471/LTC2473 ADC driver");
MODULE_AUTHOR("Topic Embedded Products");
MODULE_LICENSE("GPL v2");
--
2.27.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v3 3/3] ltc2471 driver yaml
2020-07-27 13:58 iio:adc:ltc2371: add support for ltc2361/ltc2363 Darius Berghe
2020-07-27 13:58 ` [PATCH v3 1/3] ltc2471: add of_match_table for existing devices Darius Berghe
2020-07-27 13:58 ` [PATCH v3 2/3] ltc2471: ltc2461/ltc2463 compatible strings Darius Berghe
@ 2020-07-27 13:58 ` Darius Berghe
2020-07-27 17:24 ` Jonathan Cameron
2020-07-27 18:15 ` Rob Herring
2 siblings, 2 replies; 9+ messages in thread
From: Darius Berghe @ 2020-07-27 13:58 UTC (permalink / raw)
To: linux-iio, linux-kernel, devicetree; +Cc: jic23, robh
Add dt binding documentation for ltc2471 driver. This covers all supported
devices.
Signed-off-by: Darius Berghe <darius.berghe@analog.com>
---
.../bindings/iio/adc/adi,ltc2471.yaml | 49 +++++++++++++++++++
1 file changed, 49 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ltc2471.yaml
diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ltc2471.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ltc2471.yaml
new file mode 100644
index 000000000000..d5b35a1fa651
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ltc2471.yaml
@@ -0,0 +1,49 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright 2020 Analog Devices Inc.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/bindings/iio/adc/adi,ltc2471.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices LTC2471 16-bit I2C Sigma-Delta ADC
+
+maintainers:
+ - Mike Looijmans <mike.looijmans@topic.nl>
+
+description: |
+ Analog Devices LTC2461 (single-ended) and LTC2463 (differential) 16-bit
+ I2C Sigma-Delta ADC with 60sps output rate.
+ https://www.analog.com/media/en/technical-documentation/data-sheets/24613fa.pdf
+
+ Analog Devices LTC2471 (single-ended) and LTC2473 (differential) 16-bit
+ I2C Sigma-Delta ADC with selectable 208/833sps output rate.
+ https://www.analog.com/media/en/technical-documentation/data-sheets/24713fb.pdf
+
+properties:
+ compatible:
+ enum:
+ - adi,ltc2461
+ - adi,ltc2463
+ - adi,ltc2471
+ - adi,ltc2473
+
+ reg:
+ maxItems: 1
+
+ avcc-supply:
+ description:
+ Phandle to the Avcc power supply (2.7V - 5.5V)
+
+required:
+ - compatible
+ - reg
+
+examples:
+ - |
+ i2c0 {
+ adc@14 {
+ compatible = "adi,ltc2461";
+ reg = <0x14>;
+ };
+ };
+
--
2.27.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v3 3/3] ltc2471 driver yaml
2020-07-27 13:58 ` [PATCH v3 3/3] ltc2471 driver yaml Darius Berghe
@ 2020-07-27 17:24 ` Jonathan Cameron
2020-07-27 18:15 ` Rob Herring
1 sibling, 0 replies; 9+ messages in thread
From: Jonathan Cameron @ 2020-07-27 17:24 UTC (permalink / raw)
To: Darius Berghe
Cc: linux-iio, linux-kernel, devicetree, jic23, robh, Mike Looijmans
On Mon, 27 Jul 2020 16:58:34 +0300
Darius Berghe <darius.berghe@analog.com> wrote:
> Add dt binding documentation for ltc2471 driver. This covers all supported
> devices.
>
> Signed-off-by: Darius Berghe <darius.berghe@analog.com>
+CC Mike given the doc lists him as maintainer.
> ---
> .../bindings/iio/adc/adi,ltc2471.yaml | 49 +++++++++++++++++++
> 1 file changed, 49 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ltc2471.yaml
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ltc2471.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ltc2471.yaml
> new file mode 100644
> index 000000000000..d5b35a1fa651
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ltc2471.yaml
> @@ -0,0 +1,49 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright 2020 Analog Devices Inc.
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/bindings/iio/adc/adi,ltc2471.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices LTC2471 16-bit I2C Sigma-Delta ADC
> +
> +maintainers:
> + - Mike Looijmans <mike.looijmans@topic.nl>
> +
> +description: |
> + Analog Devices LTC2461 (single-ended) and LTC2463 (differential) 16-bit
> + I2C Sigma-Delta ADC with 60sps output rate.
> + https://www.analog.com/media/en/technical-documentation/data-sheets/24613fa.pdf
> +
> + Analog Devices LTC2471 (single-ended) and LTC2473 (differential) 16-bit
> + I2C Sigma-Delta ADC with selectable 208/833sps output rate.
> + https://www.analog.com/media/en/technical-documentation/data-sheets/24713fb.pdf
> +
> +properties:
> + compatible:
> + enum:
> + - adi,ltc2461
> + - adi,ltc2463
> + - adi,ltc2471
> + - adi,ltc2473
> +
> + reg:
> + maxItems: 1
> +
> + avcc-supply:
> + description:
> + Phandle to the Avcc power supply (2.7V - 5.5V)
additionalProperties: false
should be fine here I think...
I keep forgetting this one myself.
> +
> +required:
> + - compatible
> + - reg
> +
> +examples:
> + - |
> + i2c0 {
> + adc@14 {
> + compatible = "adi,ltc2461";
> + reg = <0x14>;
> + };
> + };
> +
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 2/3] ltc2471: ltc2461/ltc2463 compatible strings
2020-07-27 13:58 ` [PATCH v3 2/3] ltc2471: ltc2461/ltc2463 compatible strings Darius Berghe
@ 2020-07-27 17:26 ` Jonathan Cameron
2020-07-28 6:24 ` Berghe, Darius
0 siblings, 1 reply; 9+ messages in thread
From: Jonathan Cameron @ 2020-07-27 17:26 UTC (permalink / raw)
To: Darius Berghe; +Cc: linux-iio, linux-kernel, devicetree, jic23, robh
On Mon, 27 Jul 2020 16:58:33 +0300
Darius Berghe <darius.berghe@analog.com> wrote:
> Add compatible strings for these devices in the existing ltc2471
> driver.
>
> Signed-off-by: Darius Berghe <darius.berghe@analog.com>
Hi Darius,
A few additional minor comments from me.
> ---
> drivers/iio/adc/ltc2471.c | 16 ++++++++++++----
> 1 file changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/iio/adc/ltc2471.c b/drivers/iio/adc/ltc2471.c
> index e1c4e966524d..8c57203b1fe4 100644
> --- a/drivers/iio/adc/ltc2471.c
> +++ b/drivers/iio/adc/ltc2471.c
> @@ -1,5 +1,7 @@
> /*
> - * Driver for Linear Technology LTC2471 and LTC2473 voltage monitors
> + * Driver for Linear Technology LTC2461, LTC2463, LTC2471 and LTC2473 voltage
> + * monitors.
> + * The LTC2463 is identical to the 2461, but reports a differential signal.
> * The LTC2473 is identical to the 2471, but reports a differential signal.
> *
> * Copyright (C) 2017 Topic Embedded Products
> @@ -17,8 +19,10 @@
> #include <linux/mod_devicetable.h>
>
> enum ltc2471_chips {
> + ltc2461,
> + ltc2463,
> ltc2471,
> - ltc2473,
> + ltc2473
Why drop the comma? We've just added two new devices. Seems possible there
may be more in the future!
> };
>
> struct ltc2471_data {
> @@ -122,7 +126,7 @@ static int ltc2471_i2c_probe(struct i2c_client *client,
> indio_dev->name = id->name;
> indio_dev->info = <c2471_info;
> indio_dev->modes = INDIO_DIRECT_MODE;
> - if (id->driver_data == ltc2473)
> + if (id->driver_data == ltc2473 || id->driver_data == ltc2463)
If the only use of driver_data is going to be this check, then just set it
to 2473 for the 2463 and 2473. It's not uncommon to do this when we have
a bunch of devices that look the same to software.
> indio_dev->channels = ltc2473_channel;
> else
> indio_dev->channels = ltc2471_channel;
> @@ -139,6 +143,8 @@ static int ltc2471_i2c_probe(struct i2c_client *client,
> }
>
> static const struct i2c_device_id ltc2471_i2c_id[] = {
> + { "ltc2461", ltc2461 },
> + { "ltc2463", ltc2463 },
> { "ltc2471", ltc2471 },
> { "ltc2473", ltc2473 },
> {}
> @@ -146,6 +152,8 @@ static const struct i2c_device_id ltc2471_i2c_id[] = {
> MODULE_DEVICE_TABLE(i2c, ltc2471_i2c_id);
>
> static const struct of_device_id ltc2471_of_match[] = {
> + { .compatible = "adi,ltc2461" },
> + { .compatible = "adi,ltc2463" },
> { .compatible = "adi,ltc2471" },
> { .compatible = "adi,ltc2473" },
> {}
> @@ -163,6 +171,6 @@ static struct i2c_driver ltc2471_i2c_driver = {
>
> module_i2c_driver(ltc2471_i2c_driver);
>
> -MODULE_DESCRIPTION("LTC2471/LTC2473 ADC driver");
> +MODULE_DESCRIPTION("LTC2461/LTC2463/LTC2471/LTC2473 ADC driver");
> MODULE_AUTHOR("Topic Embedded Products");
> MODULE_LICENSE("GPL v2");
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 3/3] ltc2471 driver yaml
2020-07-27 13:58 ` [PATCH v3 3/3] ltc2471 driver yaml Darius Berghe
2020-07-27 17:24 ` Jonathan Cameron
@ 2020-07-27 18:15 ` Rob Herring
1 sibling, 0 replies; 9+ messages in thread
From: Rob Herring @ 2020-07-27 18:15 UTC (permalink / raw)
To: Darius Berghe; +Cc: jic23, linux-kernel, devicetree, linux-iio
On Mon, 27 Jul 2020 16:58:34 +0300, Darius Berghe wrote:
> Add dt binding documentation for ltc2471 driver. This covers all supported
> devices.
>
> Signed-off-by: Darius Berghe <darius.berghe@analog.com>
> ---
> .../bindings/iio/adc/adi,ltc2471.yaml | 49 +++++++++++++++++++
> 1 file changed, 49 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ltc2471.yaml
>
My bot found errors running 'make dt_binding_check' on your patch:
Documentation/devicetree/bindings/iio/adc/adi,ltc2471.yaml: $id: relative path/filename doesn't match actual path or filename
expected: http://devicetree.org/schemas/iio/adc/adi,ltc2471.yaml#
Documentation/devicetree/bindings/iio/adc/adi,ltc2471.example.dts:22.13-26: Warning (reg_format): /example-0/i2c0/adc@14:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Documentation/devicetree/bindings/iio/adc/adi,ltc2471.example.dt.yaml: Warning (pci_device_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/iio/adc/adi,ltc2471.example.dt.yaml: Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/iio/adc/adi,ltc2471.example.dt.yaml: Warning (simple_bus_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/iio/adc/adi,ltc2471.example.dt.yaml: Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/iio/adc/adi,ltc2471.example.dt.yaml: Warning (spi_bus_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/iio/adc/adi,ltc2471.example.dts:20.18-23.13: Warning (avoid_default_addr_size): /example-0/i2c0/adc@14: Relying on default #address-cells value
Documentation/devicetree/bindings/iio/adc/adi,ltc2471.example.dts:20.18-23.13: Warning (avoid_default_addr_size): /example-0/i2c0/adc@14: Relying on default #size-cells value
Documentation/devicetree/bindings/iio/adc/adi,ltc2471.example.dt.yaml: Warning (unique_unit_address): Failed prerequisite 'avoid_default_addr_size'
See https://patchwork.ozlabs.org/patch/1336970
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure dt-schema is up to date:
pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade
Please check and re-submit.
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH v3 2/3] ltc2471: ltc2461/ltc2463 compatible strings
2020-07-27 17:26 ` Jonathan Cameron
@ 2020-07-28 6:24 ` Berghe, Darius
2020-08-01 16:05 ` Jonathan Cameron
0 siblings, 1 reply; 9+ messages in thread
From: Berghe, Darius @ 2020-07-28 6:24 UTC (permalink / raw)
To: Jonathan Cameron; +Cc: linux-iio, linux-kernel, devicetree, jic23, robh
Hi Jonathan,
Thanks for review, comments inline.
> -----Original Message-----
> From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Sent: Monday, July 27, 2020 8:27 PM
> To: Berghe, Darius <Darius.Berghe@analog.com>
> Cc: linux-iio@vger.kernel.org; linux-kernel@vger.kernel.org;
> devicetree@vger.kernel.org; jic23@kernel.org; robh@kernel.org
> Subject: Re: [PATCH v3 2/3] ltc2471: ltc2461/ltc2463 compatible strings
>
> [External]
>
> On Mon, 27 Jul 2020 16:58:33 +0300
> Darius Berghe <darius.berghe@analog.com> wrote:
>
> > Add compatible strings for these devices in the existing ltc2471
> > driver.
> >
> > Signed-off-by: Darius Berghe <darius.berghe@analog.com>
>
> Hi Darius,
>
> A few additional minor comments from me.
>
> > ---
> > drivers/iio/adc/ltc2471.c | 16 ++++++++++++----
> > 1 file changed, 12 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/iio/adc/ltc2471.c b/drivers/iio/adc/ltc2471.c
> > index e1c4e966524d..8c57203b1fe4 100644
> > --- a/drivers/iio/adc/ltc2471.c
> > +++ b/drivers/iio/adc/ltc2471.c
> > @@ -1,5 +1,7 @@
> > /*
> > - * Driver for Linear Technology LTC2471 and LTC2473 voltage monitors
> > + * Driver for Linear Technology LTC2461, LTC2463, LTC2471 and LTC2473
> > + voltage
> > + * monitors.
> > + * The LTC2463 is identical to the 2461, but reports a differential signal.
> > * The LTC2473 is identical to the 2471, but reports a differential signal.
> > *
> > * Copyright (C) 2017 Topic Embedded Products @@ -17,8 +19,10 @@
> > #include <linux/mod_devicetable.h>
> >
> > enum ltc2471_chips {
> > + ltc2461,
> > + ltc2463,
> > ltc2471,
> > - ltc2473,
> > + ltc2473
>
> Why drop the comma? We've just added two new devices. Seems possible
> there may be more in the future!
>
Ok, will leave it there in v4.
> > };
> >
> > struct ltc2471_data {
> > @@ -122,7 +126,7 @@ static int ltc2471_i2c_probe(struct i2c_client
> *client,
> > indio_dev->name = id->name;
> > indio_dev->info = <c2471_info;
> > indio_dev->modes = INDIO_DIRECT_MODE;
> > - if (id->driver_data == ltc2473)
> > + if (id->driver_data == ltc2473 || id->driver_data == ltc2463)
> If the only use of driver_data is going to be this check, then just set it to 2473
> for the 2463 and 2473. It's not uncommon to do this when we have a bunch
> of devices that look the same to software.
Yes the chips are similar but there is at least one feature which requires this level
of distinguishing them: the sampling rate (60sps for ltc2461/3 and selectable 208/833sps
for ltc2471/3). It's not used anywhere for now but I can see it being implemented
as standard IIO dev attribute sampling frequency.
>
> > indio_dev->channels = ltc2473_channel;
> > else
> > indio_dev->channels = ltc2471_channel; @@ -139,6 +143,8
> @@ static
> > int ltc2471_i2c_probe(struct i2c_client *client, }
> >
> > static const struct i2c_device_id ltc2471_i2c_id[] = {
> > + { "ltc2461", ltc2461 },
> > + { "ltc2463", ltc2463 },
> > { "ltc2471", ltc2471 },
> > { "ltc2473", ltc2473 },
> > {}
> > @@ -146,6 +152,8 @@ static const struct i2c_device_id ltc2471_i2c_id[]
> > = { MODULE_DEVICE_TABLE(i2c, ltc2471_i2c_id);
> >
> > static const struct of_device_id ltc2471_of_match[] = {
> > + { .compatible = "adi,ltc2461" },
> > + { .compatible = "adi,ltc2463" },
> > { .compatible = "adi,ltc2471" },
> > { .compatible = "adi,ltc2473" },
> > {}
> > @@ -163,6 +171,6 @@ static struct i2c_driver ltc2471_i2c_driver = {
> >
> > module_i2c_driver(ltc2471_i2c_driver);
> >
> > -MODULE_DESCRIPTION("LTC2471/LTC2473 ADC driver");
> > +MODULE_DESCRIPTION("LTC2461/LTC2463/LTC2471/LTC2473 ADC
> driver");
> > MODULE_AUTHOR("Topic Embedded Products"); MODULE_LICENSE("GPL
> v2");
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 2/3] ltc2471: ltc2461/ltc2463 compatible strings
2020-07-28 6:24 ` Berghe, Darius
@ 2020-08-01 16:05 ` Jonathan Cameron
0 siblings, 0 replies; 9+ messages in thread
From: Jonathan Cameron @ 2020-08-01 16:05 UTC (permalink / raw)
To: Berghe, Darius
Cc: Jonathan Cameron, linux-iio, linux-kernel, devicetree, robh
On Tue, 28 Jul 2020 06:24:03 +0000
"Berghe, Darius" <Darius.Berghe@analog.com> wrote:
> Hi Jonathan,
>
> Thanks for review, comments inline.
>
> > -----Original Message-----
> > From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> > Sent: Monday, July 27, 2020 8:27 PM
> > To: Berghe, Darius <Darius.Berghe@analog.com>
> > Cc: linux-iio@vger.kernel.org; linux-kernel@vger.kernel.org;
> > devicetree@vger.kernel.org; jic23@kernel.org; robh@kernel.org
> > Subject: Re: [PATCH v3 2/3] ltc2471: ltc2461/ltc2463 compatible strings
> >
> > [External]
> >
> > On Mon, 27 Jul 2020 16:58:33 +0300
> > Darius Berghe <darius.berghe@analog.com> wrote:
> >
> > > Add compatible strings for these devices in the existing ltc2471
> > > driver.
> > >
> > > Signed-off-by: Darius Berghe <darius.berghe@analog.com>
> >
> > Hi Darius,
> >
> > A few additional minor comments from me.
> >
> > > ---
> > > drivers/iio/adc/ltc2471.c | 16 ++++++++++++----
> > > 1 file changed, 12 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/drivers/iio/adc/ltc2471.c b/drivers/iio/adc/ltc2471.c
> > > index e1c4e966524d..8c57203b1fe4 100644
> > > --- a/drivers/iio/adc/ltc2471.c
> > > +++ b/drivers/iio/adc/ltc2471.c
> > > @@ -1,5 +1,7 @@
> > > /*
> > > - * Driver for Linear Technology LTC2471 and LTC2473 voltage monitors
> > > + * Driver for Linear Technology LTC2461, LTC2463, LTC2471 and LTC2473
> > > + voltage
> > > + * monitors.
> > > + * The LTC2463 is identical to the 2461, but reports a differential signal.
> > > * The LTC2473 is identical to the 2471, but reports a differential signal.
> > > *
> > > * Copyright (C) 2017 Topic Embedded Products @@ -17,8 +19,10 @@
> > > #include <linux/mod_devicetable.h>
> > >
> > > enum ltc2471_chips {
> > > + ltc2461,
> > > + ltc2463,
> > > ltc2471,
> > > - ltc2473,
> > > + ltc2473
> >
> > Why drop the comma? We've just added two new devices. Seems possible
> > there may be more in the future!
> >
>
> Ok, will leave it there in v4.
>
> > > };
> > >
> > > struct ltc2471_data {
> > > @@ -122,7 +126,7 @@ static int ltc2471_i2c_probe(struct i2c_client
> > *client,
> > > indio_dev->name = id->name;
> > > indio_dev->info = <c2471_info;
> > > indio_dev->modes = INDIO_DIRECT_MODE;
> > > - if (id->driver_data == ltc2473)
> > > + if (id->driver_data == ltc2473 || id->driver_data == ltc2463)
> > If the only use of driver_data is going to be this check, then just set it to 2473
> > for the 2463 and 2473. It's not uncommon to do this when we have a bunch
> > of devices that look the same to software.
>
> Yes the chips are similar but there is at least one feature which requires this level
> of distinguishing them: the sampling rate (60sps for ltc2461/3 and selectable 208/833sps
> for ltc2471/3). It's not used anywhere for now but I can see it being implemented
> as standard IIO dev attribute sampling frequency.
Fair enough. Perhaps a note in the patch description so no one asks the question
on the next version?
>
> >
> > > indio_dev->channels = ltc2473_channel;
> > > else
> > > indio_dev->channels = ltc2471_channel; @@ -139,6 +143,8
> > @@ static
> > > int ltc2471_i2c_probe(struct i2c_client *client, }
> > >
> > > static const struct i2c_device_id ltc2471_i2c_id[] = {
> > > + { "ltc2461", ltc2461 },
> > > + { "ltc2463", ltc2463 },
> > > { "ltc2471", ltc2471 },
> > > { "ltc2473", ltc2473 },
> > > {}
> > > @@ -146,6 +152,8 @@ static const struct i2c_device_id ltc2471_i2c_id[]
> > > = { MODULE_DEVICE_TABLE(i2c, ltc2471_i2c_id);
> > >
> > > static const struct of_device_id ltc2471_of_match[] = {
> > > + { .compatible = "adi,ltc2461" },
> > > + { .compatible = "adi,ltc2463" },
> > > { .compatible = "adi,ltc2471" },
> > > { .compatible = "adi,ltc2473" },
> > > {}
> > > @@ -163,6 +171,6 @@ static struct i2c_driver ltc2471_i2c_driver = {
> > >
> > > module_i2c_driver(ltc2471_i2c_driver);
> > >
> > > -MODULE_DESCRIPTION("LTC2471/LTC2473 ADC driver");
> > > +MODULE_DESCRIPTION("LTC2461/LTC2463/LTC2471/LTC2473 ADC
> > driver");
> > > MODULE_AUTHOR("Topic Embedded Products"); MODULE_LICENSE("GPL
> > v2");
>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2020-08-01 16:05 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-27 13:58 iio:adc:ltc2371: add support for ltc2361/ltc2363 Darius Berghe
2020-07-27 13:58 ` [PATCH v3 1/3] ltc2471: add of_match_table for existing devices Darius Berghe
2020-07-27 13:58 ` [PATCH v3 2/3] ltc2471: ltc2461/ltc2463 compatible strings Darius Berghe
2020-07-27 17:26 ` Jonathan Cameron
2020-07-28 6:24 ` Berghe, Darius
2020-08-01 16:05 ` Jonathan Cameron
2020-07-27 13:58 ` [PATCH v3 3/3] ltc2471 driver yaml Darius Berghe
2020-07-27 17:24 ` Jonathan Cameron
2020-07-27 18:15 ` Rob Herring
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).