hwmon: Allow writing of negative trigger temperatures
authorChristian Hohnstaedt <chohnstaedt@innominate.com>
Thu, 16 Aug 2007 09:40:10 +0000 (11:40 +0200)
committerMark M. Hoffman <mhoffman@lightlink.com>
Wed, 10 Oct 2007 02:56:29 +0000 (22:56 -0400)
- replace differing temperature variable types by long
- use strtol() instead of strtoul() for conversion

Signed-off-by: Christian Hohnstaedt <chohnstaedt@innominate.com>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
drivers/hwmon/ad7418.c
drivers/hwmon/adm1021.c
drivers/hwmon/asb100.c
drivers/hwmon/ds1621.c
drivers/hwmon/lm75.c
drivers/hwmon/lm75.h
drivers/hwmon/lm77.c
drivers/hwmon/lm93.c
drivers/hwmon/w83627ehf.c
drivers/hwmon/w83627hf.c
drivers/hwmon/w83781d.c

index cc8b624a1e51539f25df6dc06b01cb78ef1e90f2..879ea72ee3bd24d3874dca89b77df72bacfb0b67 100644 (file)
@@ -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);
index 5418a675bb607f4e119f15d19d7e7362bf93b665..6649e0688361364c18c9937966223848d65398fe 100644 (file)
@@ -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);                                \
index 57b1c7b7ac3f5d54601e799a3b0e5f3aaac50708..55d92e1e27d1b7596e8932a623b75a3d0f71ff6f 100644 (file)
@@ -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) { \
index 1212d6b7f316ee6297374d1f3454a76d2e7ac0ae..5a861f936120514340b4eff37930c5561dbe5f6c 100644 (file)
@@ -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;
index a40166ffad127665b756668e403754b71b6c5c99..4fa32205e44cebb29fd8902f7bdf01b16fc2ff4d 100644 (file)
@@ -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);
index af7dc650ee1506878901453ea51bc75dee764392..7c93454bb4e3eb4d01e482b2475335aa03aafc7e 100644 (file)
@@ -33,7 +33,7 @@
 
 /* TEMP: 0.001C/bit (-55C to +125C)
    REG: (0.5C/bit, two's complement) << 7 */
-static inline u16 LM75_TEMP_TO_REG(int temp)
+static inline u16 LM75_TEMP_TO_REG(long temp)
 {
        int ntemp = SENSORS_LIMIT(temp, LM75_TEMP_MIN, LM75_TEMP_MAX);
        ntemp += (ntemp<0 ? -250 : 250);
index dd969f1e84154e6d754b63cfd8f013d09b3dc87e..46e3abad7206ee09df43eb04189f268aae05d53a 100644 (file)
@@ -138,7 +138,7 @@ static ssize_t set_##value(struct device *dev, struct device_attribute *attr, co
 {                                                                              \
        struct i2c_client *client = to_i2c_client(dev);                         \
        struct lm77_data *data = i2c_get_clientdata(client);                    \
-       long val = simple_strtoul(buf, NULL, 10);                               \
+       long val = simple_strtol(buf, NULL, 10);                                \
                                                                                \
        mutex_lock(&data->update_lock);                                         \
        data->value = val;                              \
index d84f8bf6f28476edf6c8e422eb675972af44acc1..86c6c6ea0745e24c85637d25505e4b031f6a1ad2 100644 (file)
@@ -413,7 +413,7 @@ static int LM93_TEMP_FROM_REG(u8 reg)
 
 /* TEMP: 1/1000 degrees C (-128C to +127C)
    REG: 1C/bit, two's complement */
-static u8 LM93_TEMP_TO_REG(int temp)
+static u8 LM93_TEMP_TO_REG(long temp)
 {
        int ntemp = SENSORS_LIMIT(temp, LM93_TEMP_MIN, LM93_TEMP_MAX);
        ntemp += (ntemp<0 ? -500 : 500);
@@ -1268,7 +1268,7 @@ static ssize_t store_temp_min(struct device *dev, struct device_attribute *attr,
        int nr = (to_sensor_dev_attr(attr))->index;
        struct i2c_client *client = to_i2c_client(dev);
        struct lm93_data *data = i2c_get_clientdata(client);
-       u32 val = simple_strtoul(buf, NULL, 10);
+       long val = simple_strtol(buf, NULL, 10);
 
        mutex_lock(&data->update_lock);
        data->temp_lim[nr].min = LM93_TEMP_TO_REG(val);
@@ -1298,7 +1298,7 @@ static ssize_t store_temp_max(struct device *dev, struct device_attribute *attr,
        int nr = (to_sensor_dev_attr(attr))->index;
        struct i2c_client *client = to_i2c_client(dev);
        struct lm93_data *data = i2c_get_clientdata(client);
-       u32 val = simple_strtoul(buf, NULL, 10);
+       long val = simple_strtol(buf, NULL, 10);
 
        mutex_lock(&data->update_lock);
        data->temp_lim[nr].max = LM93_TEMP_TO_REG(val);
@@ -1329,7 +1329,7 @@ static ssize_t store_temp_auto_base(struct device *dev,
        int nr = (to_sensor_dev_attr(attr))->index;
        struct i2c_client *client = to_i2c_client(dev);
        struct lm93_data *data = i2c_get_clientdata(client);
-       u32 val = simple_strtoul(buf, NULL, 10);
+       long val = simple_strtol(buf, NULL, 10);
 
        mutex_lock(&data->update_lock);
        data->block10.base[nr] = LM93_TEMP_TO_REG(val);
@@ -1360,7 +1360,7 @@ static ssize_t store_temp_auto_boost(struct device *dev,
        int nr = (to_sensor_dev_attr(attr))->index;
        struct i2c_client *client = to_i2c_client(dev);
        struct lm93_data *data = i2c_get_clientdata(client);
-       u32 val = simple_strtoul(buf, NULL, 10);
+       long val = simple_strtol(buf, NULL, 10);
 
        mutex_lock(&data->update_lock);
        data->boost[nr] = LM93_TEMP_TO_REG(val);
index d9a9ec7dd84aee91e1e0f7ddbea62bd44f7be7fa..e3dfc52b5995611e059f7d429aa66b3d2de6c89c 100644 (file)
@@ -223,7 +223,7 @@ temp1_from_reg(s8 reg)
 }
 
 static inline s8
-temp1_to_reg(int temp, int min, int max)
+temp1_to_reg(long temp, int min, int max)
 {
        if (temp <= min)
                return min / 1000;
@@ -805,7 +805,7 @@ store_temp1_##reg(struct device *dev, struct device_attribute *attr, \
                  const char *buf, size_t count) \
 { \
        struct w83627ehf_data *data = dev_get_drvdata(dev); \
-       u32 val = simple_strtoul(buf, NULL, 10); \
+       long val = simple_strtol(buf, NULL, 10); \
  \
        mutex_lock(&data->update_lock); \
        data->temp1_##reg = temp1_to_reg(val, -128000, 127000); \
@@ -840,7 +840,7 @@ store_##reg(struct device *dev, struct device_attribute *attr, \
        struct w83627ehf_data *data = dev_get_drvdata(dev); \
        struct sensor_device_attribute *sensor_attr = to_sensor_dev_attr(attr); \
        int nr = sensor_attr->index; \
-       u32 val = simple_strtoul(buf, NULL, 10); \
+       long val = simple_strtol(buf, NULL, 10); \
  \
        mutex_lock(&data->update_lock); \
        data->reg[nr] = LM75_TEMP_TO_REG(val); \
index 7a4a15f4bf8ba2fd42ebab9c42a9667768dad348..0866739a227cd437e91a7008d6832e735c41a500 100644 (file)
@@ -263,7 +263,7 @@ static inline u8 FAN_TO_REG(long rpm, 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, TEMP_MIN, TEMP_MAX);
         ntemp += (ntemp<0 ? -500 : 500);
@@ -642,9 +642,9 @@ static ssize_t \
 store_temp_##reg (struct device *dev, const char *buf, size_t count, int nr) \
 { \
        struct w83627hf_data *data = dev_get_drvdata(dev); \
-       u32 val; \
+       long val; \
         \
-       val = simple_strtoul(buf, NULL, 10); \
+       val = simple_strtol(buf, NULL, 10); \
         \
        mutex_lock(&data->update_lock); \
         \
index dcc941a5aaff6e06d286868b52b50f98126ffb84..8ed88f3d57673135ae4e383f85982b7cdc221a4f 100644 (file)
@@ -410,7 +410,7 @@ static ssize_t store_temp_##reg (struct device *dev, \
        struct sensor_device_attribute *attr = to_sensor_dev_attr(da); \
        struct w83781d_data *data = dev_get_drvdata(dev); \
        int nr = attr->index; \
-       s32 val; \
+       long val; \
         \
        val = simple_strtol(buf, NULL, 10); \
         \