Skip to content

Commit 05aaac8

Browse files
plappermaulgroeck
authored andcommitted
hwmon: (lm75) Fix configuration register writes.
Sensors configurations are defined by set and clear masks. These do not follow a consistent "clear mask is a superset of set mask" rule. This relaxed definition breaks lm75_write_config() static inline int lm75_write_config(struct lm75_data *data, u16 set_mask, u16 clr_mask) { return regmap_update_bits(data->regmap, LM75_REG_CONF, clr_mask | LM75_SHUTDOWN, set_mask); } Basically all bits from set_mask that are not defined in clr_mask are dropped. Fix that by enhancing the helper to always combine clr_mask and set_mask into the mask bits of regmap_update_bits(). Fixes: 6da24a2 ("hwmon: (lm75) Hide register size differences in regmap access functions") Suggested-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://lore.kernel.org/r/20260502173207.3567876-3-markus.stockhausen@gmx.de Signed-off-by: Guenter Roeck <linux@roeck-us.net>
1 parent 3607422 commit 05aaac8

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/hwmon/lm75.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ static inline int lm75_write_config(struct lm75_data *data, u16 set_mask,
353353
u16 clr_mask)
354354
{
355355
return regmap_update_bits(data->regmap, LM75_REG_CONF,
356-
clr_mask | LM75_SHUTDOWN, set_mask);
356+
clr_mask | set_mask | LM75_SHUTDOWN, set_mask);
357357
}
358358

359359
static irqreturn_t lm75_alarm_handler(int irq, void *private)

0 commit comments

Comments
 (0)