Skip to content

Commit

Permalink
hwmon: (max31827) Update bits with shutdown_write()
Browse files Browse the repository at this point in the history
Added 'mask' parameter to the shutdown_write() function. Now it can
either write or update bits, depending on the value of mask. This is
needed, because for alarms a write is necessary, but for resolution only
the resolution bits should be updated.

Signed-off-by: Daniel Matyas <daniel.matyas@analog.com>
Link: https://lore.kernel.org/r/20231031182158.124608-3-daniel.matyas@analog.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
  • Loading branch information
Daniel Matyas authored and Guenter Roeck committed Dec 11, 2023
1 parent cbeb1d2 commit 8a0806d
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions drivers/hwmon/max31827.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ static const struct regmap_config max31827_regmap = {
};

static int shutdown_write(struct max31827_state *st, unsigned int reg,
unsigned int val)
unsigned int mask, unsigned int val)
{
unsigned int cfg;
unsigned int cnv_rate;
Expand All @@ -98,7 +98,10 @@ static int shutdown_write(struct max31827_state *st, unsigned int reg,
mutex_lock(&st->lock);

if (!st->enable) {
ret = regmap_write(st->regmap, reg, val);
if (!mask)
ret = regmap_write(st->regmap, reg, val);
else
ret = regmap_update_bits(st->regmap, reg, mask, val);
goto unlock;
}

Expand All @@ -113,7 +116,11 @@ static int shutdown_write(struct max31827_state *st, unsigned int reg,
if (ret)
goto unlock;

ret = regmap_write(st->regmap, reg, val);
if (!mask)
ret = regmap_write(st->regmap, reg, val);
else
ret = regmap_update_bits(st->regmap, reg, mask, val);

if (ret)
goto unlock;

Expand All @@ -131,7 +138,7 @@ static int write_alarm_val(struct max31827_state *st, unsigned int reg,
{
val = MAX31827_M_DGR_TO_16_BIT(val);

return shutdown_write(st, reg, val);
return shutdown_write(st, reg, 0, val);
}

static umode_t max31827_is_visible(const void *state,
Expand Down

0 comments on commit 8a0806d

Please sign in to comment.