Commit 00dc6452 authored by Slawomir Stepien's avatar Slawomir Stepien Committed by Guenter Roeck

hwmon: (lm90) Read the channel's temperature offset from device-tree

Try to read the channel's temperature offset from device-tree. Having
offset in device-tree node is not mandatory. The offset can only be set
for remote channels.
Signed-off-by: default avatarSlawomir Stepien <slawomir.stepien@nokia.com>
Link: https://lore.kernel.org/r/20220607063504.1287855-3-sst@poczta.fmSigned-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 07845f55
......@@ -2666,6 +2666,7 @@ static int lm90_probe_channel_from_dt(struct i2c_client *client,
struct lm90_data *data)
{
u32 id;
s32 val;
int err;
struct device *dev = &client->dev;
......@@ -2689,6 +2690,21 @@ static int lm90_probe_channel_from_dt(struct i2c_client *client,
if (data->channel_label[id])
data->channel_config[id] |= HWMON_T_LABEL;
err = of_property_read_s32(child, "temperature-offset-millicelsius", &val);
if (!err) {
if (id == 0) {
dev_err(dev, "temperature-offset-millicelsius can't be set for internal channel\n");
return -EINVAL;
}
err = lm90_set_temp_offset(data, lm90_temp_offset_index[id], id, val);
if (err) {
dev_err(dev, "can't set temperature offset %d for channel %d (%d)\n",
val, id, err);
return err;
}
}
return 0;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment