public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/5] Add TI TMP116 Support
@ 2023-02-28  9:05 Marco Felsch
  2023-02-28  9:05 ` [PATCH v6 1/5] dt-bindings: iio: ti,tmp117: fix documentation link Marco Felsch
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Marco Felsch @ 2023-02-28  9:05 UTC (permalink / raw)
  To: puranjay12, jic23, lars, robh+dt, krzysztof.kozlowski+dt
  Cc: linux-iio, devicetree, kernel

Hi,

this small series adds the support for the TI TMP116 temperature sensor
which is predecessor of the TMP117 but still in production.


Marco Felsch (5):
  dt-bindings: iio: ti,tmp117: fix documentation link
  iio: temperature: tmp117: improve fallback capabilities
  dt-bindings: iio: ti,tmp117: add binding for the TMP116
  iio: temperature: tmp117: add TI TMP116 support
  iio: temperature: tmp117: cosmetic alignment cleanup

 .../bindings/iio/temperature/ti,tmp117.yaml   |  8 +-
 drivers/iio/temperature/tmp117.c              | 80 ++++++++++++++-----
 2 files changed, 66 insertions(+), 22 deletions(-)

-- 
2.30.2


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v6 1/5] dt-bindings: iio: ti,tmp117: fix documentation link
  2023-02-28  9:05 [PATCH v6 0/5] Add TI TMP116 Support Marco Felsch
@ 2023-02-28  9:05 ` Marco Felsch
  2023-02-28  9:05 ` [PATCH v6 2/5] iio: temperature: tmp117: improve fallback capabilities Marco Felsch
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Marco Felsch @ 2023-02-28  9:05 UTC (permalink / raw)
  To: puranjay12, jic23, lars, robh+dt, krzysztof.kozlowski+dt
  Cc: linux-iio, devicetree, kernel

Fix the broken link to point to the correct homepage.

Fixes: 5e713b25d137 ("dt-bindings: iio: temperature: Add DT bindings for TMP117")
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
v6:
- no changes
v5:
- no changes
v4:
- no changes
v3:
- no changes
v2:
- added Krzysztof ack

 .../devicetree/bindings/iio/temperature/ti,tmp117.yaml          | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml b/Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml
index 347bc16a4671b..8d1ec4d39b28c 100644
--- a/Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml
+++ b/Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml
@@ -9,7 +9,7 @@ title: "TI TMP117 - Digital temperature sensor with integrated NV memory"
 description: |
     TI TMP117 - Digital temperature sensor with integrated NV memory that supports
     I2C interface.
-      https://www.ti.com/lit/gpn/tmp1
+      https://www.ti.com/lit/gpn/tmp117
 
 maintainers:
   - Puranjay Mohan <puranjay12@gmail.com>
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v6 2/5] iio: temperature: tmp117: improve fallback capabilities
  2023-02-28  9:05 [PATCH v6 0/5] Add TI TMP116 Support Marco Felsch
  2023-02-28  9:05 ` [PATCH v6 1/5] dt-bindings: iio: ti,tmp117: fix documentation link Marco Felsch
@ 2023-02-28  9:05 ` Marco Felsch
  2023-03-04 18:18   ` Jonathan Cameron
  2023-02-28  9:05 ` [PATCH v6 3/5] dt-bindings: iio: ti,tmp117: add binding for the TMP116 Marco Felsch
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 8+ messages in thread
From: Marco Felsch @ 2023-02-28  9:05 UTC (permalink / raw)
  To: puranjay12, jic23, lars, robh+dt, krzysztof.kozlowski+dt
  Cc: linux-iio, devicetree, kernel

Don't error if the device-id found don't match the device-id for the
TMP117 sensor since other TMPxxx might be compatible to the TMP117. The
fallback mechanism tries to gather the required information from the
of_device_id or from the i2c_client information.

The commit also prepares the driver for adding new devices more easily
by making use of switch-case at the relevant parts.

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
---
v6:
- no changes
v5:
- identify: make use of v6.2 available i2c_client_get_device_id()
- identify: adapt dev_err() message
- probe: keep ret variable
v4:
- new patch to implement possible fallback (Jonathan)

 drivers/iio/temperature/tmp117.c | 44 ++++++++++++++++++++++++--------
 1 file changed, 34 insertions(+), 10 deletions(-)

diff --git a/drivers/iio/temperature/tmp117.c b/drivers/iio/temperature/tmp117.c
index f9b8f2b570f6b..8a3992d9ee937 100644
--- a/drivers/iio/temperature/tmp117.c
+++ b/drivers/iio/temperature/tmp117.c
@@ -16,6 +16,7 @@
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/limits.h>
+#include <linux/property.h>
 
 #include <linux/iio/iio.h>
 
@@ -115,23 +116,40 @@ static const struct iio_info tmp117_info = {
 
 static int tmp117_identify(struct i2c_client *client)
 {
+	const struct i2c_device_id *id;
+	unsigned long match_data;
 	int dev_id;
 
 	dev_id = i2c_smbus_read_word_swapped(client, TMP117_REG_DEVICE_ID);
 	if (dev_id < 0)
 		return dev_id;
-	if (dev_id != TMP117_DEVICE_ID) {
-		dev_err(&client->dev, "TMP117 not found\n");
-		return -ENODEV;
+
+	switch (dev_id) {
+	case TMP117_DEVICE_ID:
+		return dev_id;
 	}
-	return 0;
+
+	dev_info(&client->dev, "Unknown device id (0x%x), use fallback compatible\n",
+		 dev_id);
+
+	match_data = (uintptr_t)device_get_match_data(&client->dev);
+	if (match_data)
+		return match_data;
+
+	id = i2c_client_get_device_id(client);
+	if (id)
+		return id->driver_data;
+
+	dev_err(&client->dev, "Failed to identify unsupported device\n");
+
+	return -ENODEV;
 }
 
 static int tmp117_probe(struct i2c_client *client)
 {
 	struct tmp117_data *data;
 	struct iio_dev *indio_dev;
-	int ret;
+	int ret, dev_id;
 
 	if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
 		return -EOPNOTSUPP;
@@ -140,6 +158,8 @@ static int tmp117_probe(struct i2c_client *client)
 	if (ret < 0)
 		return ret;
 
+	dev_id = ret;
+
 	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
 	if (!indio_dev)
 		return -ENOMEM;
@@ -148,24 +168,28 @@ static int tmp117_probe(struct i2c_client *client)
 	data->client = client;
 	data->calibbias = 0;
 
-	indio_dev->name = "tmp117";
 	indio_dev->modes = INDIO_DIRECT_MODE;
 	indio_dev->info = &tmp117_info;
 
-	indio_dev->channels = tmp117_channels;
-	indio_dev->num_channels = ARRAY_SIZE(tmp117_channels);
+	switch (dev_id) {
+	case TMP117_DEVICE_ID:
+		indio_dev->channels = tmp117_channels;
+		indio_dev->num_channels = ARRAY_SIZE(tmp117_channels);
+		indio_dev->name = "tmp117";
+		break;
+	}
 
 	return devm_iio_device_register(&client->dev, indio_dev);
 }
 
 static const struct of_device_id tmp117_of_match[] = {
-	{ .compatible = "ti,tmp117", },
+	{ .compatible = "ti,tmp117", .data = (void *)TMP117_DEVICE_ID },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, tmp117_of_match);
 
 static const struct i2c_device_id tmp117_id[] = {
-	{ "tmp117", 0 },
+	{ "tmp117", TMP117_DEVICE_ID },
 	{ }
 };
 MODULE_DEVICE_TABLE(i2c, tmp117_id);
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v6 3/5] dt-bindings: iio: ti,tmp117: add binding for the TMP116
  2023-02-28  9:05 [PATCH v6 0/5] Add TI TMP116 Support Marco Felsch
  2023-02-28  9:05 ` [PATCH v6 1/5] dt-bindings: iio: ti,tmp117: fix documentation link Marco Felsch
  2023-02-28  9:05 ` [PATCH v6 2/5] iio: temperature: tmp117: improve fallback capabilities Marco Felsch
@ 2023-02-28  9:05 ` Marco Felsch
  2023-02-28  9:05 ` [PATCH v6 4/5] iio: temperature: tmp117: add TI TMP116 support Marco Felsch
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Marco Felsch @ 2023-02-28  9:05 UTC (permalink / raw)
  To: puranjay12, jic23, lars, robh+dt, krzysztof.kozlowski+dt
  Cc: linux-iio, devicetree, kernel

The TMP116 is the predecessor of the TMP117.

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
v6:
- no changes
v5:
- no changes
v4:
- sort alphabetical (Krzysztof)
- added Krzysztof's ab
v3:
- don't use tmp117 as fallback, therefore I didn't add Krzysztof
  ab
v2:
- drop items from single enum

 .../devicetree/bindings/iio/temperature/ti,tmp117.yaml      | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml b/Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml
index 8d1ec4d39b28c..75f13cbcd72be 100644
--- a/Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml
+++ b/Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml
@@ -7,8 +7,9 @@ $schema: "http://devicetree.org/meta-schemas/core.yaml#"
 title: "TI TMP117 - Digital temperature sensor with integrated NV memory"
 
 description: |
-    TI TMP117 - Digital temperature sensor with integrated NV memory that supports
-    I2C interface.
+    TI TMP116/117 - Digital temperature sensor with integrated NV memory that
+    supports I2C interface.
+      https://www.ti.com/lit/gpn/tmp116
       https://www.ti.com/lit/gpn/tmp117
 
 maintainers:
@@ -17,6 +18,7 @@ maintainers:
 properties:
   compatible:
     enum:
+      - ti,tmp116
       - ti,tmp117
 
   reg:
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v6 4/5] iio: temperature: tmp117: add TI TMP116 support
  2023-02-28  9:05 [PATCH v6 0/5] Add TI TMP116 Support Marco Felsch
                   ` (2 preceding siblings ...)
  2023-02-28  9:05 ` [PATCH v6 3/5] dt-bindings: iio: ti,tmp117: add binding for the TMP116 Marco Felsch
@ 2023-02-28  9:05 ` Marco Felsch
  2023-02-28  9:05 ` [PATCH v6 5/5] iio: temperature: tmp117: cosmetic alignment cleanup Marco Felsch
  2023-03-04 18:20 ` [PATCH v6 0/5] Add TI TMP116 Support Jonathan Cameron
  5 siblings, 0 replies; 8+ messages in thread
From: Marco Felsch @ 2023-02-28  9:05 UTC (permalink / raw)
  To: puranjay12, jic23, lars, robh+dt, krzysztof.kozlowski+dt
  Cc: linux-iio, devicetree, kernel

The TMP116 is the predecessor of the TMP117. The TMP116 don't support
custom offset calibration data, instead this register is used as generic
EEPROM storage as well.

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
---
v6:
- fix compiling
v5:
- no changes
v4:
- split into two patches
  - 1st) handle fallback (Jonathan)
  - 2nd) this one, adding the support for tmp116
v3:
- use switch case within probe() as well
- don't hide smbus_read error within tmp117_identify()
- add dedicated compatible
v2:
- no changes

 drivers/iio/temperature/tmp117.c | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/drivers/iio/temperature/tmp117.c b/drivers/iio/temperature/tmp117.c
index 8a3992d9ee937..9bfb818c3bf1d 100644
--- a/drivers/iio/temperature/tmp117.c
+++ b/drivers/iio/temperature/tmp117.c
@@ -32,9 +32,11 @@
 #define TMP117_REG_DEVICE_ID		0xF
 
 #define TMP117_RESOLUTION_10UC		78125
-#define TMP117_DEVICE_ID		0x0117
 #define MICRODEGREE_PER_10MILLIDEGREE	10000
 
+#define TMP116_DEVICE_ID		0x1116
+#define TMP117_DEVICE_ID		0x0117
+
 struct tmp117_data {
 	struct i2c_client *client;
 	s16 calibbias;
@@ -109,6 +111,14 @@ static const struct iio_chan_spec tmp117_channels[] = {
 	},
 };
 
+static const struct iio_chan_spec tmp116_channels[] = {
+	{
+		.type = IIO_TEMP,
+		.info_mask_separate = BIT(IIO_CHAN_INFO_RAW) |
+				      BIT(IIO_CHAN_INFO_SCALE),
+	},
+};
+
 static const struct iio_info tmp117_info = {
 	.read_raw = tmp117_read_raw,
 	.write_raw = tmp117_write_raw,
@@ -125,6 +135,7 @@ static int tmp117_identify(struct i2c_client *client)
 		return dev_id;
 
 	switch (dev_id) {
+	case TMP116_DEVICE_ID:
 	case TMP117_DEVICE_ID:
 		return dev_id;
 	}
@@ -172,6 +183,11 @@ static int tmp117_probe(struct i2c_client *client)
 	indio_dev->info = &tmp117_info;
 
 	switch (dev_id) {
+	case TMP116_DEVICE_ID:
+		indio_dev->channels = tmp116_channels;
+		indio_dev->num_channels = ARRAY_SIZE(tmp116_channels);
+		indio_dev->name = "tmp116";
+		break;
 	case TMP117_DEVICE_ID:
 		indio_dev->channels = tmp117_channels;
 		indio_dev->num_channels = ARRAY_SIZE(tmp117_channels);
@@ -183,12 +199,14 @@ static int tmp117_probe(struct i2c_client *client)
 }
 
 static const struct of_device_id tmp117_of_match[] = {
+	{ .compatible = "ti,tmp116", .data = (void *)TMP116_DEVICE_ID },
 	{ .compatible = "ti,tmp117", .data = (void *)TMP117_DEVICE_ID },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, tmp117_of_match);
 
 static const struct i2c_device_id tmp117_id[] = {
+	{ "tmp116", TMP116_DEVICE_ID },
 	{ "tmp117", TMP117_DEVICE_ID },
 	{ }
 };
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v6 5/5] iio: temperature: tmp117: cosmetic alignment cleanup
  2023-02-28  9:05 [PATCH v6 0/5] Add TI TMP116 Support Marco Felsch
                   ` (3 preceding siblings ...)
  2023-02-28  9:05 ` [PATCH v6 4/5] iio: temperature: tmp117: add TI TMP116 support Marco Felsch
@ 2023-02-28  9:05 ` Marco Felsch
  2023-03-04 18:20 ` [PATCH v6 0/5] Add TI TMP116 Support Jonathan Cameron
  5 siblings, 0 replies; 8+ messages in thread
From: Marco Felsch @ 2023-02-28  9:05 UTC (permalink / raw)
  To: puranjay12, jic23, lars, robh+dt, krzysztof.kozlowski+dt
  Cc: linux-iio, devicetree, kernel

Align the code correctly if possible and align the channel bit mask to
make it easier to read.

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
---
v6:
- no changes
v5:
- no changes
v4:
- no changes
v3:
- no changes
v2:
- no changes

 drivers/iio/temperature/tmp117.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/iio/temperature/tmp117.c b/drivers/iio/temperature/tmp117.c
index 9bfb818c3bf1d..638e3a5bd6b84 100644
--- a/drivers/iio/temperature/tmp117.c
+++ b/drivers/iio/temperature/tmp117.c
@@ -43,8 +43,8 @@ struct tmp117_data {
 };
 
 static int tmp117_read_raw(struct iio_dev *indio_dev,
-		struct iio_chan_spec const *channel, int *val,
-		int *val2, long mask)
+			   struct iio_chan_spec const *channel, int *val,
+			   int *val2, long mask)
 {
 	struct tmp117_data *data = iio_priv(indio_dev);
 	s32 ret;
@@ -52,7 +52,7 @@ static int tmp117_read_raw(struct iio_dev *indio_dev,
 	switch (mask) {
 	case IIO_CHAN_INFO_RAW:
 		ret = i2c_smbus_read_word_swapped(data->client,
-						TMP117_REG_TEMP);
+						  TMP117_REG_TEMP);
 		if (ret < 0)
 			return ret;
 		*val = sign_extend32(ret, 15);
@@ -60,7 +60,7 @@ static int tmp117_read_raw(struct iio_dev *indio_dev,
 
 	case IIO_CHAN_INFO_CALIBBIAS:
 		ret = i2c_smbus_read_word_swapped(data->client,
-					TMP117_REG_TEMP_OFFSET);
+						  TMP117_REG_TEMP_OFFSET);
 		if (ret < 0)
 			return ret;
 		*val = sign_extend32(ret, 15);
@@ -82,9 +82,8 @@ static int tmp117_read_raw(struct iio_dev *indio_dev,
 	}
 }
 
-static int tmp117_write_raw(struct iio_dev *indio_dev,
-		struct iio_chan_spec const *channel, int val,
-		int val2, long mask)
+static int tmp117_write_raw(struct iio_dev *indio_dev, struct iio_chan_spec
+			    const *channel, int val, int val2, long mask)
 {
 	struct tmp117_data *data = iio_priv(indio_dev);
 	s16 off;
@@ -107,7 +106,8 @@ static const struct iio_chan_spec tmp117_channels[] = {
 	{
 		.type = IIO_TEMP,
 		.info_mask_separate = BIT(IIO_CHAN_INFO_RAW) |
-			BIT(IIO_CHAN_INFO_CALIBBIAS) | BIT(IIO_CHAN_INFO_SCALE),
+				      BIT(IIO_CHAN_INFO_CALIBBIAS) |
+				      BIT(IIO_CHAN_INFO_SCALE),
 	},
 };
 
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v6 2/5] iio: temperature: tmp117: improve fallback capabilities
  2023-02-28  9:05 ` [PATCH v6 2/5] iio: temperature: tmp117: improve fallback capabilities Marco Felsch
@ 2023-03-04 18:18   ` Jonathan Cameron
  0 siblings, 0 replies; 8+ messages in thread
From: Jonathan Cameron @ 2023-03-04 18:18 UTC (permalink / raw)
  To: Marco Felsch
  Cc: puranjay12, lars, robh+dt, krzysztof.kozlowski+dt, linux-iio,
	devicetree, kernel

On Tue, 28 Feb 2023 10:05:15 +0100
Marco Felsch <m.felsch@pengutronix.de> wrote:

> Don't error if the device-id found don't match the device-id for the
> TMP117 sensor since other TMPxxx might be compatible to the TMP117. The
> fallback mechanism tries to gather the required information from the
> of_device_id or from the i2c_client information.
> 
> The commit also prepares the driver for adding new devices more easily
> by making use of switch-case at the relevant parts.
> 
> Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
> ---
> v6:
> - no changes
> v5:
> - identify: make use of v6.2 available i2c_client_get_device_id()
> - identify: adapt dev_err() message
> - probe: keep ret variable
> v4:
> - new patch to implement possible fallback (Jonathan)
> 
>  drivers/iio/temperature/tmp117.c | 44 ++++++++++++++++++++++++--------
>  1 file changed, 34 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/iio/temperature/tmp117.c b/drivers/iio/temperature/tmp117.c
> index f9b8f2b570f6b..8a3992d9ee937 100644
> --- a/drivers/iio/temperature/tmp117.c
> +++ b/drivers/iio/temperature/tmp117.c
> @@ -16,6 +16,7 @@
>  #include <linux/types.h>
>  #include <linux/kernel.h>
>  #include <linux/limits.h>
> +#include <linux/property.h>
>  
>  #include <linux/iio/iio.h>
>  
> @@ -115,23 +116,40 @@ static const struct iio_info tmp117_info = {
>  
>  static int tmp117_identify(struct i2c_client *client)
>  {
> +	const struct i2c_device_id *id;
> +	unsigned long match_data;
>  	int dev_id;
>  
>  	dev_id = i2c_smbus_read_word_swapped(client, TMP117_REG_DEVICE_ID);
>  	if (dev_id < 0)
>  		return dev_id;
> -	if (dev_id != TMP117_DEVICE_ID) {
> -		dev_err(&client->dev, "TMP117 not found\n");
> -		return -ENODEV;
> +
> +	switch (dev_id) {
> +	case TMP117_DEVICE_ID:
> +		return dev_id;
>  	}
> -	return 0;
> +
> +	dev_info(&client->dev, "Unknown device id (0x%x), use fallback compatible\n",
> +		 dev_id);
> +
> +	match_data = (uintptr_t)device_get_match_data(&client->dev);
> +	if (match_data)
> +		return match_data;
> +
> +	id = i2c_client_get_device_id(client);
This particular path is a bit of an oddity as unlike the dt one we don't expect
to get a case where the part present doesn't match. However, I guess it might happen
if someone updates to a newer part number but for some reason doesn't update their
board file or other use of this type of id.  That extra flexibility doesn't really
hurt us so might as well leave it here.

So looking at this again, I'm fine with the prints you have here.

Jonathan

> +	if (id)
> +		return id->driver_data;
> +
> +	dev_err(&client->dev, "Failed to identify unsupported device\n");
> +
> +	return -ENODEV;
>  }
>  
>  static int tmp117_probe(struct i2c_client *client)
>  {
>  	struct tmp117_data *data;
>  	struct iio_dev *indio_dev;
> -	int ret;
> +	int ret, dev_id;
>  
>  	if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
>  		return -EOPNOTSUPP;
> @@ -140,6 +158,8 @@ static int tmp117_probe(struct i2c_client *client)
>  	if (ret < 0)
>  		return ret;
>  
> +	dev_id = ret;
> +
>  	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
>  	if (!indio_dev)
>  		return -ENOMEM;
> @@ -148,24 +168,28 @@ static int tmp117_probe(struct i2c_client *client)
>  	data->client = client;
>  	data->calibbias = 0;
>  
> -	indio_dev->name = "tmp117";
>  	indio_dev->modes = INDIO_DIRECT_MODE;
>  	indio_dev->info = &tmp117_info;
>  
> -	indio_dev->channels = tmp117_channels;
> -	indio_dev->num_channels = ARRAY_SIZE(tmp117_channels);
> +	switch (dev_id) {
> +	case TMP117_DEVICE_ID:
> +		indio_dev->channels = tmp117_channels;
> +		indio_dev->num_channels = ARRAY_SIZE(tmp117_channels);
> +		indio_dev->name = "tmp117";
> +		break;
> +	}
>  
>  	return devm_iio_device_register(&client->dev, indio_dev);
>  }
>  
>  static const struct of_device_id tmp117_of_match[] = {
> -	{ .compatible = "ti,tmp117", },
> +	{ .compatible = "ti,tmp117", .data = (void *)TMP117_DEVICE_ID },
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(of, tmp117_of_match);
>  
>  static const struct i2c_device_id tmp117_id[] = {
> -	{ "tmp117", 0 },
> +	{ "tmp117", TMP117_DEVICE_ID },
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(i2c, tmp117_id);


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v6 0/5] Add TI TMP116 Support
  2023-02-28  9:05 [PATCH v6 0/5] Add TI TMP116 Support Marco Felsch
                   ` (4 preceding siblings ...)
  2023-02-28  9:05 ` [PATCH v6 5/5] iio: temperature: tmp117: cosmetic alignment cleanup Marco Felsch
@ 2023-03-04 18:20 ` Jonathan Cameron
  5 siblings, 0 replies; 8+ messages in thread
From: Jonathan Cameron @ 2023-03-04 18:20 UTC (permalink / raw)
  To: Marco Felsch
  Cc: puranjay12, lars, robh+dt, krzysztof.kozlowski+dt, linux-iio,
	devicetree, kernel

On Tue, 28 Feb 2023 10:05:13 +0100
Marco Felsch <m.felsch@pengutronix.de> wrote:

> Hi,
> 
> this small series adds the support for the TI TMP116 temperature sensor
> which is predecessor of the TMP117 but still in production.
> 
Series applied to the togreg branch of iio.git and pushed out as
testing for 0-day to see if it can find anything we missed.

I'll rebase that branch on rc1 once available.

Thanks,

Jonathan


> 
> Marco Felsch (5):
>   dt-bindings: iio: ti,tmp117: fix documentation link
>   iio: temperature: tmp117: improve fallback capabilities
>   dt-bindings: iio: ti,tmp117: add binding for the TMP116
>   iio: temperature: tmp117: add TI TMP116 support
>   iio: temperature: tmp117: cosmetic alignment cleanup
> 
>  .../bindings/iio/temperature/ti,tmp117.yaml   |  8 +-
>  drivers/iio/temperature/tmp117.c              | 80 ++++++++++++++-----
>  2 files changed, 66 insertions(+), 22 deletions(-)
> 


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-03-04 18:20 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-28  9:05 [PATCH v6 0/5] Add TI TMP116 Support Marco Felsch
2023-02-28  9:05 ` [PATCH v6 1/5] dt-bindings: iio: ti,tmp117: fix documentation link Marco Felsch
2023-02-28  9:05 ` [PATCH v6 2/5] iio: temperature: tmp117: improve fallback capabilities Marco Felsch
2023-03-04 18:18   ` Jonathan Cameron
2023-02-28  9:05 ` [PATCH v6 3/5] dt-bindings: iio: ti,tmp117: add binding for the TMP116 Marco Felsch
2023-02-28  9:05 ` [PATCH v6 4/5] iio: temperature: tmp117: add TI TMP116 support Marco Felsch
2023-02-28  9:05 ` [PATCH v6 5/5] iio: temperature: tmp117: cosmetic alignment cleanup Marco Felsch
2023-03-04 18:20 ` [PATCH v6 0/5] Add TI TMP116 Support Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox