Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit acc14694 authored by Peter Rosin's avatar Peter Rosin Committed by Guenter Roeck
Browse files

hwmon: (ads1015) Handle negative conversion values correctly



Make the divisor signed as DIV_ROUND_CLOSEST is undefined for negative
dividends when the divisor is unsigned.

Signed-off-by: default avatarPeter Rosin <peda@axentia.se>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 18558cae
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -126,7 +126,7 @@ static int ads1015_reg_to_mv(struct i2c_client *client, unsigned int channel,
	struct ads1015_data *data = i2c_get_clientdata(client);
	unsigned int pga = data->channel_data[channel].pga;
	int fullscale = fullscale_table[pga];
	const unsigned mask = data->id == ads1115 ? 0x7fff : 0x7ff0;
	const int mask = data->id == ads1115 ? 0x7fff : 0x7ff0;

	return DIV_ROUND_CLOSEST(reg * fullscale, mask);
}