mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 13:14:02 +02:00
iio: temperature: tmp117: add TI TMP119 support
Add support for the TMP119 temperature sensor, which has the same programming model as the TMP117. [rgantois: Commit log] Signed-off-by: Wil Stark <wil_stark@keysight.com> [rgantois: Rebased from v6.6.58 to v7.2-rc1] Signed-off-by: Romain Gantois <romain.gantois@bootlin.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:
parent
1777f50b92
commit
fef4337eb2
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user