[PATCH v3 2/2] iio: temperature: tmp117: add TI TMP119 support
From: Romain Gantois
Date: Tue Jun 30 2026 - 05:44:51 EST
From: Wil Stark <wil_stark@xxxxxxxxxxxx>
Add support for the TMP119 temperature sensor, which has the same
programming model as the TMP117.
Signed-off-by: Wil Stark <wil_stark@xxxxxxxxxxxx>
[rgantois: Rebased from v6.6.58 to v7.2-rc1]
[rgantois: Commit log]
Signed-off-by: Romain Gantois <romain.gantois@xxxxxxxxxxx>
---
drivers/iio/temperature/tmp117.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/iio/temperature/tmp117.c b/drivers/iio/temperature/tmp117.c
index 6bc18616ad15e..74cb8d62bef3c 100644
--- a/drivers/iio/temperature/tmp117.c
+++ b/drivers/iio/temperature/tmp117.c
@@ -9,6 +9,7 @@
* Note: This driver assumes that the sensor has been calibrated beforehand.
*/
+#include <linux/array_size.h>
#include <linux/delay.h>
#include <linux/err.h>
#include <linux/i2c.h>
@@ -38,6 +39,7 @@
#define TMP116_DEVICE_ID 0x1116
#define TMP117_DEVICE_ID 0x0117
+#define TMP119_DEVICE_ID 0x2117
struct tmp117_data {
struct i2c_client *client;
@@ -139,6 +141,12 @@ static const struct tmp11x_info tmp117_channels_info = {
.num_channels = ARRAY_SIZE(tmp117_channels)
};
+static const struct tmp11x_info tmp119_channels_info = {
+ .name = "tmp119",
+ .channels = tmp117_channels,
+ .num_channels = ARRAY_SIZE(tmp117_channels)
+};
+
static const struct iio_info tmp117_info = {
.read_raw = tmp117_read_raw,
.write_raw = tmp117_write_raw,
@@ -172,6 +180,9 @@ static int tmp117_probe(struct i2c_client *client)
case TMP117_DEVICE_ID:
match_data = &tmp117_channels_info;
break;
+ case TMP119_DEVICE_ID:
+ match_data = &tmp119_channels_info;
+ break;
default:
dev_info(&client->dev,
"Unknown device id (0x%x), use fallback compatible\n",
@@ -204,6 +215,7 @@ static int tmp117_probe(struct i2c_client *client)
static const struct of_device_id tmp117_of_match[] = {
{ .compatible = "ti,tmp116", .data = &tmp116_channels_info },
{ .compatible = "ti,tmp117", .data = &tmp117_channels_info },
+ { .compatible = "ti,tmp119", .data = &tmp119_channels_info },
{ }
};
MODULE_DEVICE_TABLE(of, tmp117_of_match);
@@ -211,6 +223,7 @@ MODULE_DEVICE_TABLE(of, tmp117_of_match);
static const struct i2c_device_id tmp117_id[] = {
{ .name = "tmp116", .driver_data = (kernel_ulong_t)&tmp116_channels_info },
{ .name = "tmp117", .driver_data = (kernel_ulong_t)&tmp117_channels_info },
+ { .name = "tmp119", .driver_data = (kernel_ulong_t)&tmp119_channels_info },
{ }
};
MODULE_DEVICE_TABLE(i2c, tmp117_id);
--
2.54.0