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

Commit 5bfedac0 authored by Christian Hohnstaedt's avatar Christian Hohnstaedt Committed by Mark M. Hoffman
Browse files

hwmon: Allow writing of negative trigger temperatures



- replace differing temperature variable types by long
- use strtol() instead of strtoul() for conversion

Signed-off-by: default avatarChristian Hohnstaedt <chohnstaedt@innominate.com>
Acked-by: default avatarJean Delvare <khali@linux-fr.org>
Signed-off-by: default avatarMark M. Hoffman <mhoffman@lightlink.com>
parent dcf3b5fb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -172,7 +172,7 @@ static ssize_t set_temp(struct device *dev, struct device_attribute *devattr,
	struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
	struct i2c_client *client = to_i2c_client(dev);
	struct ad7418_data *data = i2c_get_clientdata(client);
	int temp = simple_strtol(buf, NULL, 10);
	long temp = simple_strtol(buf, NULL, 10);

	mutex_lock(&data->lock);
	data->temp[attr->index] = LM75_TEMP_TO_REG(temp);
+1 −1
Original line number Diff line number Diff line
@@ -162,7 +162,7 @@ static ssize_t set_##value(struct device *dev, \
{									\
	struct i2c_client *client = to_i2c_client(dev);			\
	struct adm1021_data *data = i2c_get_clientdata(client);		\
	int temp = simple_strtoul(buf, NULL, 10);			\
	long temp = simple_strtol(buf, NULL, 10);			\
									\
	mutex_lock(&data->update_lock);					\
	data->value = TEMP_TO_REG(temp);				\
+2 −2
Original line number Diff line number Diff line
@@ -143,7 +143,7 @@ static int FAN_FROM_REG(u8 val, int div)

/* TEMP: 0.001C/bit (-128C to +127C)
   REG: 1C/bit, two's complement */
static u8 TEMP_TO_REG(int temp)
static u8 TEMP_TO_REG(long temp)
{
	int ntemp = SENSORS_LIMIT(temp, ASB100_TEMP_MIN, ASB100_TEMP_MAX);
	ntemp += (ntemp<0 ? -500 : 500);
@@ -448,7 +448,7 @@ static ssize_t set_##reg(struct device *dev, const char *buf, \
{ \
	struct i2c_client *client = to_i2c_client(dev); \
	struct asb100_data *data = i2c_get_clientdata(client); \
	unsigned long val = simple_strtoul(buf, NULL, 10); \
	long val = simple_strtol(buf, NULL, 10); \
 \
	mutex_lock(&data->update_lock); \
	switch (nr) { \
+1 −1
Original line number Diff line number Diff line
@@ -151,7 +151,7 @@ static ssize_t set_temp(struct device *dev, struct device_attribute *da,
	struct sensor_device_attribute *attr = to_sensor_dev_attr(da);
	struct i2c_client *client = to_i2c_client(dev);
	struct ds1621_data *data = ds1621_update_client(dev);
	u16 val = LM75_TEMP_TO_REG(simple_strtoul(buf, NULL, 10));
	u16 val = LM75_TEMP_TO_REG(simple_strtol(buf, NULL, 10));

	mutex_lock(&data->update_lock);
	data->temp[attr->index] = val;
+1 −1
Original line number Diff line number Diff line
@@ -95,7 +95,7 @@ static ssize_t set_temp(struct device *dev, struct device_attribute *da,
	struct i2c_client *client = to_i2c_client(dev);
	struct lm75_data *data = i2c_get_clientdata(client);
	int nr = attr->index;
	unsigned long temp = simple_strtoul(buf, NULL, 10);
	long temp = simple_strtol(buf, NULL, 10);

	mutex_lock(&data->update_lock);
	data->temp[nr] = LM75_TEMP_TO_REG(temp);
Loading