Commit a41a8927e7adfa5de607d5bd43fa8fbbef44d6f2

Authored by Guenter Roeck
1 parent 7276d55e62

hwmon: (lm95245) Make temp2_crit_hyst read-only

The hysteresis register is shared among both temperature sensors.
This means changing one also affects the other. To avoid confusion,
established way to express this is to make only the first instance writable
and keep all other instances as read-only. Otherwise users may be
confused that changing the second writable value also affects the first,
while it is more obvious that a writable value may affect a different
read-only value.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Jean Delvare <jdelvare@suse.de>

Showing 2 changed files with 7 additions and 4 deletions Side-by-side Diff

Documentation/hwmon/lm95245
... ... @@ -24,8 +24,12 @@
24 24 given within a range of -127 to +255 degrees. Resolution depends on
25 25 temperature input and range.
26 26  
27   -Each sensor has its own critical limit, but the hysteresis is common to all
28   -two channels.
  27 +Each sensor has its own critical limit. Additionally, there is a relative
  28 +hysteresis value common to both critical limits. To make life easier to
  29 +user-space applications, two absolute values are exported, one for each
  30 +channel, but these values are of course linked. Only the local hysteresis
  31 +can be set from user-space, and the same delta applies to the remote
  32 +hysteresis.
29 33  
30 34 The lm95245 driver can change its update interval to a fixed set of values.
31 35 It will round up to the next selectable interval. See the datasheet for exact
drivers/hwmon/lm95245.c
... ... @@ -395,8 +395,7 @@
395 395 static SENSOR_DEVICE_ATTR(temp2_input, S_IRUGO, show_input, NULL, 2);
396 396 static SENSOR_DEVICE_ATTR(temp2_crit, S_IWUSR | S_IRUGO, show_limit,
397 397 set_limit, 7);
398   -static SENSOR_DEVICE_ATTR(temp2_crit_hyst, S_IWUSR | S_IRUGO, show_crit_hyst,
399   - set_crit_hyst, 7);
  398 +static SENSOR_DEVICE_ATTR(temp2_crit_hyst, S_IRUGO, show_crit_hyst, NULL, 7);
400 399 static SENSOR_DEVICE_ATTR(temp2_crit_alarm, S_IRUGO, show_alarm, NULL,
401 400 STATUS1_RTCRIT);
402 401 static SENSOR_DEVICE_ATTR(temp2_type, S_IWUSR | S_IRUGO, show_type,