Commit 8a5c5cc6 authored by Jean Delvare's avatar Jean Delvare Committed by Jean Delvare

hwmon: (lm75) Per-chip configuration register initialization

There is no standard for the configuration register bits of LM75-like
chips. We shouldn't blindly clear bits setting the resolution as they
are either unused or used for something else on some of the supported
chips.

So, switch to per-chip configuration initialization. This will allow
for better tuning later, for example using more resolution bits when
available.
Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
Acked-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 1db77221
......@@ -167,8 +167,28 @@ lm75_probe(struct i2c_client *client, const struct i2c_device_id *id)
* Then tweak to be more precise when appropriate.
*/
set_mask = 0;
clr_mask = (1 << 0) /* continuous conversions */
| (1 << 6) | (1 << 5); /* 9-bit mode */
clr_mask = LM75_SHUTDOWN; /* continuous conversions */
switch (id->driver_data) {
case adt75:
clr_mask |= 1 << 5; /* not one-shot mode */
break;
case ds1775:
case ds75:
case stds75:
clr_mask |= 3 << 5; /* 9-bit mode */
break;
case mcp980x:
case tmp100:
case tmp101:
case tmp105:
case tmp175:
case tmp275:
case tmp75:
clr_mask |= 3 << 5; /* 9-bit mode */
clr_mask |= 1 << 7; /* not one-shot mode */
break;
}
/* configure as specified */
status = lm75_read_value(client, LM75_REG_CONF);
......
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