Commit 1c720093 authored by Guenter Roeck's avatar Guenter Roeck Committed by Jean Delvare

hwmon: (adm1031) Fix coding style issues

Fix almost all coding style issues except for the multi-line macro errors,
which do not really apply since the macros are not multi-line statements
but declarations.

Based on merged patch series from Zac Storer; fixed remaining checkpatch
errors and warnings.

Cc: Zac Storer <zac.3.14159@gmail.com>
Signed-off-by: default avatarGuenter Roeck <guenter.roeck@ericsson.com>
Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
parent 16b5dda2
...@@ -155,7 +155,8 @@ adm1031_write_value(struct i2c_client *client, u8 reg, unsigned int value) ...@@ -155,7 +155,8 @@ adm1031_write_value(struct i2c_client *client, u8 reg, unsigned int value)
#define TEMP_OFFSET_FROM_REG(val) TEMP_FROM_REG((val) < 0 ? \ #define TEMP_OFFSET_FROM_REG(val) TEMP_FROM_REG((val) < 0 ? \
(val) | 0x70 : (val)) (val) | 0x70 : (val))
#define FAN_FROM_REG(reg, div) ((reg) ? (11250 * 60) / ((reg) * (div)) : 0) #define FAN_FROM_REG(reg, div) ((reg) ? \
(11250 * 60) / ((reg) * (div)) : 0)
static int FAN_TO_REG(int reg, int div) static int FAN_TO_REG(int reg, int div)
{ {
...@@ -174,8 +175,8 @@ static int FAN_TO_REG(int reg, int div) ...@@ -174,8 +175,8 @@ static int FAN_TO_REG(int reg, int div)
(((reg) & 0x1F) | (((val) << 5) & 0xe0)) (((reg) & 0x1F) | (((val) << 5) & 0xe0))
#define AUTO_TEMP_MIN_TO_REG(val, reg) \ #define AUTO_TEMP_MIN_TO_REG(val, reg) \
((((val)/500) & 0xf8)|((reg) & 0x7)) ((((val) / 500) & 0xf8) | ((reg) & 0x7))
#define AUTO_TEMP_RANGE_FROM_REG(reg) (5000 * (1<< ((reg)&0x7))) #define AUTO_TEMP_RANGE_FROM_REG(reg) (5000 * (1 << ((reg) & 0x7)))
#define AUTO_TEMP_MIN_FROM_REG(reg) (1000 * ((((reg) >> 3) & 0x1f) << 2)) #define AUTO_TEMP_MIN_FROM_REG(reg) (1000 * ((((reg) >> 3) & 0x1f) << 2))
#define AUTO_TEMP_MIN_FROM_REG_DEG(reg) ((((reg) >> 3) & 0x1f) << 2) #define AUTO_TEMP_MIN_FROM_REG_DEG(reg) ((((reg) >> 3) & 0x1f) << 2)
...@@ -202,7 +203,7 @@ static int AUTO_TEMP_MAX_TO_REG(int val, int reg, int pwm) ...@@ -202,7 +203,7 @@ static int AUTO_TEMP_MAX_TO_REG(int val, int reg, int pwm)
/* FAN auto control */ /* FAN auto control */
#define GET_FAN_AUTO_BITFIELD(data, idx) \ #define GET_FAN_AUTO_BITFIELD(data, idx) \
(*(data)->chan_select_table)[FAN_CHAN_FROM_REG((data)->conf1)][idx%2] (*(data)->chan_select_table)[FAN_CHAN_FROM_REG((data)->conf1)][idx % 2]
/* The tables below contains the possible values for the auto fan /* The tables below contains the possible values for the auto fan
* control bitfields. the index in the table is the register value. * control bitfields. the index in the table is the register value.
...@@ -230,7 +231,7 @@ static const auto_chan_table_t auto_channel_select_table_adm1030 = { ...@@ -230,7 +231,7 @@ static const auto_chan_table_t auto_channel_select_table_adm1030 = {
*/ */
static int static int
get_fan_auto_nearest(struct adm1031_data *data, get_fan_auto_nearest(struct adm1031_data *data,
int chan, u8 val, u8 reg, u8 * new_reg) int chan, u8 val, u8 reg, u8 *new_reg)
{ {
int i; int i;
int first_match = -1, exact_match = -1; int first_match = -1, exact_match = -1;
...@@ -258,13 +259,13 @@ get_fan_auto_nearest(struct adm1031_data *data, ...@@ -258,13 +259,13 @@ get_fan_auto_nearest(struct adm1031_data *data,
} }
} }
if (exact_match >= 0) { if (exact_match >= 0)
*new_reg = exact_match; *new_reg = exact_match;
} else if (first_match >= 0) { else if (first_match >= 0)
*new_reg = first_match; *new_reg = first_match;
} else { else
return -EINVAL; return -EINVAL;
}
return 0; return 0;
} }
...@@ -283,23 +284,28 @@ set_fan_auto_channel(struct device *dev, struct device_attribute *attr, ...@@ -283,23 +284,28 @@ set_fan_auto_channel(struct device *dev, struct device_attribute *attr,
struct i2c_client *client = to_i2c_client(dev); struct i2c_client *client = to_i2c_client(dev);
struct adm1031_data *data = i2c_get_clientdata(client); struct adm1031_data *data = i2c_get_clientdata(client);
int nr = to_sensor_dev_attr(attr)->index; int nr = to_sensor_dev_attr(attr)->index;
int val = simple_strtol(buf, NULL, 10); long val;
u8 reg; u8 reg;
int ret; int ret;
u8 old_fan_mode; u8 old_fan_mode;
ret = kstrtol(buf, 10, &val);
if (ret)
return ret;
old_fan_mode = data->conf1; old_fan_mode = data->conf1;
mutex_lock(&data->update_lock); mutex_lock(&data->update_lock);
if ((ret = get_fan_auto_nearest(data, nr, val, data->conf1, &reg))) { ret = get_fan_auto_nearest(data, nr, val, data->conf1, &reg);
if (ret) {
mutex_unlock(&data->update_lock); mutex_unlock(&data->update_lock);
return ret; return ret;
} }
data->conf1 = FAN_CHAN_TO_REG(reg, data->conf1); data->conf1 = FAN_CHAN_TO_REG(reg, data->conf1);
if ((data->conf1 & ADM1031_CONF1_AUTO_MODE) ^ if ((data->conf1 & ADM1031_CONF1_AUTO_MODE) ^
(old_fan_mode & ADM1031_CONF1_AUTO_MODE)) { (old_fan_mode & ADM1031_CONF1_AUTO_MODE)) {
if (data->conf1 & ADM1031_CONF1_AUTO_MODE){ if (data->conf1 & ADM1031_CONF1_AUTO_MODE) {
/* Switch to Auto Fan Mode /* Switch to Auto Fan Mode
* Save PWM registers * Save PWM registers
* Set PWM registers to 33% Both */ * Set PWM registers to 33% Both */
...@@ -350,7 +356,12 @@ set_auto_temp_min(struct device *dev, struct device_attribute *attr, ...@@ -350,7 +356,12 @@ set_auto_temp_min(struct device *dev, struct device_attribute *attr,
struct i2c_client *client = to_i2c_client(dev); struct i2c_client *client = to_i2c_client(dev);
struct adm1031_data *data = i2c_get_clientdata(client); struct adm1031_data *data = i2c_get_clientdata(client);
int nr = to_sensor_dev_attr(attr)->index; int nr = to_sensor_dev_attr(attr)->index;
int val = simple_strtol(buf, NULL, 10); long val;
int ret;
ret = kstrtol(buf, 10, &val);
if (ret)
return ret;
mutex_lock(&data->update_lock); mutex_lock(&data->update_lock);
data->auto_temp[nr] = AUTO_TEMP_MIN_TO_REG(val, data->auto_temp[nr]); data->auto_temp[nr] = AUTO_TEMP_MIN_TO_REG(val, data->auto_temp[nr]);
...@@ -374,10 +385,16 @@ set_auto_temp_max(struct device *dev, struct device_attribute *attr, ...@@ -374,10 +385,16 @@ set_auto_temp_max(struct device *dev, struct device_attribute *attr,
struct i2c_client *client = to_i2c_client(dev); struct i2c_client *client = to_i2c_client(dev);
struct adm1031_data *data = i2c_get_clientdata(client); struct adm1031_data *data = i2c_get_clientdata(client);
int nr = to_sensor_dev_attr(attr)->index; int nr = to_sensor_dev_attr(attr)->index;
int val = simple_strtol(buf, NULL, 10); long val;
int ret;
ret = kstrtol(buf, 10, &val);
if (ret)
return ret;
mutex_lock(&data->update_lock); mutex_lock(&data->update_lock);
data->temp_max[nr] = AUTO_TEMP_MAX_TO_REG(val, data->auto_temp[nr], data->pwm[nr]); data->temp_max[nr] = AUTO_TEMP_MAX_TO_REG(val, data->auto_temp[nr],
data->pwm[nr]);
adm1031_write_value(client, ADM1031_REG_AUTO_TEMP(nr), adm1031_write_value(client, ADM1031_REG_AUTO_TEMP(nr),
data->temp_max[nr]); data->temp_max[nr]);
mutex_unlock(&data->update_lock); mutex_unlock(&data->update_lock);
...@@ -410,8 +427,12 @@ static ssize_t set_pwm(struct device *dev, struct device_attribute *attr, ...@@ -410,8 +427,12 @@ static ssize_t set_pwm(struct device *dev, struct device_attribute *attr,
struct i2c_client *client = to_i2c_client(dev); struct i2c_client *client = to_i2c_client(dev);
struct adm1031_data *data = i2c_get_clientdata(client); struct adm1031_data *data = i2c_get_clientdata(client);
int nr = to_sensor_dev_attr(attr)->index; int nr = to_sensor_dev_attr(attr)->index;
int val = simple_strtol(buf, NULL, 10); long val;
int reg; int ret, reg;
ret = kstrtol(buf, 10, &val);
if (ret)
return ret;
mutex_lock(&data->update_lock); mutex_lock(&data->update_lock);
if ((data->conf1 & ADM1031_CONF1_AUTO_MODE) && if ((data->conf1 & ADM1031_CONF1_AUTO_MODE) &&
...@@ -449,9 +470,13 @@ static int trust_fan_readings(struct adm1031_data *data, int chan) ...@@ -449,9 +470,13 @@ static int trust_fan_readings(struct adm1031_data *data, int chan)
if (data->conf1 & ADM1031_CONF1_AUTO_MODE) { if (data->conf1 & ADM1031_CONF1_AUTO_MODE) {
switch (data->conf1 & 0x60) { switch (data->conf1 & 0x60) {
case 0x00: /* remote temp1 controls fan1 remote temp2 controls fan2 */ case 0x00:
/*
* remote temp1 controls fan1,
* remote temp2 controls fan2
*/
res = data->temp[chan+1] >= res = data->temp[chan+1] >=
AUTO_TEMP_MIN_FROM_REG_DEG(data->auto_temp[chan+1]); AUTO_TEMP_MIN_FROM_REG_DEG(data->auto_temp[chan+1]);
break; break;
case 0x20: /* remote temp1 controls both fans */ case 0x20: /* remote temp1 controls both fans */
res = res =
...@@ -515,7 +540,12 @@ static ssize_t set_fan_min(struct device *dev, struct device_attribute *attr, ...@@ -515,7 +540,12 @@ static ssize_t set_fan_min(struct device *dev, struct device_attribute *attr,
struct i2c_client *client = to_i2c_client(dev); struct i2c_client *client = to_i2c_client(dev);
struct adm1031_data *data = i2c_get_clientdata(client); struct adm1031_data *data = i2c_get_clientdata(client);
int nr = to_sensor_dev_attr(attr)->index; int nr = to_sensor_dev_attr(attr)->index;
int val = simple_strtol(buf, NULL, 10); long val;
int ret;
ret = kstrtol(buf, 10, &val);
if (ret)
return ret;
mutex_lock(&data->update_lock); mutex_lock(&data->update_lock);
if (val) { if (val) {
...@@ -534,10 +564,15 @@ static ssize_t set_fan_div(struct device *dev, struct device_attribute *attr, ...@@ -534,10 +564,15 @@ static ssize_t set_fan_div(struct device *dev, struct device_attribute *attr,
struct i2c_client *client = to_i2c_client(dev); struct i2c_client *client = to_i2c_client(dev);
struct adm1031_data *data = i2c_get_clientdata(client); struct adm1031_data *data = i2c_get_clientdata(client);
int nr = to_sensor_dev_attr(attr)->index; int nr = to_sensor_dev_attr(attr)->index;
int val = simple_strtol(buf, NULL, 10); long val;
u8 tmp; u8 tmp;
int old_div; int old_div;
int new_min; int new_min;
int ret;
ret = kstrtol(buf, 10, &val);
if (ret)
return ret;
tmp = val == 8 ? 0xc0 : tmp = val == 8 ? 0xc0 :
val == 4 ? 0x80 : val == 4 ? 0x80 :
...@@ -631,9 +666,13 @@ static ssize_t set_temp_offset(struct device *dev, ...@@ -631,9 +666,13 @@ static ssize_t set_temp_offset(struct device *dev,
struct i2c_client *client = to_i2c_client(dev); struct i2c_client *client = to_i2c_client(dev);
struct adm1031_data *data = i2c_get_clientdata(client); struct adm1031_data *data = i2c_get_clientdata(client);
int nr = to_sensor_dev_attr(attr)->index; int nr = to_sensor_dev_attr(attr)->index;
int val; long val;
int ret;
ret = kstrtol(buf, 10, &val);
if (ret)
return ret;
val = simple_strtol(buf, NULL, 10);
val = SENSORS_LIMIT(val, -15000, 15000); val = SENSORS_LIMIT(val, -15000, 15000);
mutex_lock(&data->update_lock); mutex_lock(&data->update_lock);
data->temp_offset[nr] = TEMP_OFFSET_TO_REG(val); data->temp_offset[nr] = TEMP_OFFSET_TO_REG(val);
...@@ -648,9 +687,13 @@ static ssize_t set_temp_min(struct device *dev, struct device_attribute *attr, ...@@ -648,9 +687,13 @@ static ssize_t set_temp_min(struct device *dev, struct device_attribute *attr,
struct i2c_client *client = to_i2c_client(dev); struct i2c_client *client = to_i2c_client(dev);
struct adm1031_data *data = i2c_get_clientdata(client); struct adm1031_data *data = i2c_get_clientdata(client);
int nr = to_sensor_dev_attr(attr)->index; int nr = to_sensor_dev_attr(attr)->index;
int val; long val;
int ret;
ret = kstrtol(buf, 10, &val);
if (ret)
return ret;
val = simple_strtol(buf, NULL, 10);
val = SENSORS_LIMIT(val, -55000, nr == 0 ? 127750 : 127875); val = SENSORS_LIMIT(val, -55000, nr == 0 ? 127750 : 127875);
mutex_lock(&data->update_lock); mutex_lock(&data->update_lock);
data->temp_min[nr] = TEMP_TO_REG(val); data->temp_min[nr] = TEMP_TO_REG(val);
...@@ -665,9 +708,13 @@ static ssize_t set_temp_max(struct device *dev, struct device_attribute *attr, ...@@ -665,9 +708,13 @@ static ssize_t set_temp_max(struct device *dev, struct device_attribute *attr,
struct i2c_client *client = to_i2c_client(dev); struct i2c_client *client = to_i2c_client(dev);
struct adm1031_data *data = i2c_get_clientdata(client); struct adm1031_data *data = i2c_get_clientdata(client);
int nr = to_sensor_dev_attr(attr)->index; int nr = to_sensor_dev_attr(attr)->index;
int val; long val;
int ret;
ret = kstrtol(buf, 10, &val);
if (ret)
return ret;
val = simple_strtol(buf, NULL, 10);
val = SENSORS_LIMIT(val, -55000, nr == 0 ? 127750 : 127875); val = SENSORS_LIMIT(val, -55000, nr == 0 ? 127750 : 127875);
mutex_lock(&data->update_lock); mutex_lock(&data->update_lock);
data->temp_max[nr] = TEMP_TO_REG(val); data->temp_max[nr] = TEMP_TO_REG(val);
...@@ -682,9 +729,13 @@ static ssize_t set_temp_crit(struct device *dev, struct device_attribute *attr, ...@@ -682,9 +729,13 @@ static ssize_t set_temp_crit(struct device *dev, struct device_attribute *attr,
struct i2c_client *client = to_i2c_client(dev); struct i2c_client *client = to_i2c_client(dev);
struct adm1031_data *data = i2c_get_clientdata(client); struct adm1031_data *data = i2c_get_clientdata(client);
int nr = to_sensor_dev_attr(attr)->index; int nr = to_sensor_dev_attr(attr)->index;
int val; long val;
int ret;
ret = kstrtol(buf, 10, &val);
if (ret)
return ret;
val = simple_strtol(buf, NULL, 10);
val = SENSORS_LIMIT(val, -55000, nr == 0 ? 127750 : 127875); val = SENSORS_LIMIT(val, -55000, nr == 0 ? 127750 : 127875);
mutex_lock(&data->update_lock); mutex_lock(&data->update_lock);
data->temp_crit[nr] = TEMP_TO_REG(val); data->temp_crit[nr] = TEMP_TO_REG(val);
...@@ -711,7 +762,8 @@ temp_reg(2); ...@@ -711,7 +762,8 @@ temp_reg(2);
temp_reg(3); temp_reg(3);
/* Alarms */ /* Alarms */
static ssize_t show_alarms(struct device *dev, struct device_attribute *attr, char *buf) static ssize_t show_alarms(struct device *dev, struct device_attribute *attr,
char *buf)
{ {
struct adm1031_data *data = adm1031_update_device(dev); struct adm1031_data *data = adm1031_update_device(dev);
return sprintf(buf, "%d\n", data->alarm); return sprintf(buf, "%d\n", data->alarm);
...@@ -919,12 +971,13 @@ static int adm1031_probe(struct i2c_client *client, ...@@ -919,12 +971,13 @@ static int adm1031_probe(struct i2c_client *client,
adm1031_init_client(client); adm1031_init_client(client);
/* Register sysfs hooks */ /* Register sysfs hooks */
if ((err = sysfs_create_group(&client->dev.kobj, &adm1031_group))) err = sysfs_create_group(&client->dev.kobj, &adm1031_group);
if (err)
goto exit_free; goto exit_free;
if (data->chip_type == adm1031) { if (data->chip_type == adm1031) {
if ((err = sysfs_create_group(&client->dev.kobj, err = sysfs_create_group(&client->dev.kobj, &adm1031_group_opt);
&adm1031_group_opt))) if (err)
goto exit_remove; goto exit_remove;
} }
...@@ -970,14 +1023,13 @@ static void adm1031_init_client(struct i2c_client *client) ...@@ -970,14 +1023,13 @@ static void adm1031_init_client(struct i2c_client *client)
} }
/* Initialize the ADM1031 chip (enables fan speed reading ) */ /* Initialize the ADM1031 chip (enables fan speed reading ) */
read_val = adm1031_read_value(client, ADM1031_REG_CONF2); read_val = adm1031_read_value(client, ADM1031_REG_CONF2);
if ((read_val | mask) != read_val) { if ((read_val | mask) != read_val)
adm1031_write_value(client, ADM1031_REG_CONF2, read_val | mask); adm1031_write_value(client, ADM1031_REG_CONF2, read_val | mask);
}
read_val = adm1031_read_value(client, ADM1031_REG_CONF1); read_val = adm1031_read_value(client, ADM1031_REG_CONF1);
if ((read_val | ADM1031_CONF1_MONITOR_ENABLE) != read_val) { if ((read_val | ADM1031_CONF1_MONITOR_ENABLE) != read_val) {
adm1031_write_value(client, ADM1031_REG_CONF1, read_val | adm1031_write_value(client, ADM1031_REG_CONF1,
ADM1031_CONF1_MONITOR_ENABLE); read_val | ADM1031_CONF1_MONITOR_ENABLE);
} }
/* Read the chip's update rate */ /* Read the chip's update rate */
...@@ -1024,8 +1076,7 @@ static struct adm1031_data *adm1031_update_device(struct device *dev) ...@@ -1024,8 +1076,7 @@ static struct adm1031_data *adm1031_update_device(struct device *dev)
/* oldh is actually newer */ /* oldh is actually newer */
if (newh != oldh) if (newh != oldh)
dev_warn(&client->dev, dev_warn(&client->dev,
"Remote temperature may be " "Remote temperature may be wrong.\n");
"wrong.\n");
#endif #endif
} }
data->temp[chan] = newh; data->temp[chan] = newh;
...@@ -1052,22 +1103,24 @@ static struct adm1031_data *adm1031_update_device(struct device *dev) ...@@ -1052,22 +1103,24 @@ static struct adm1031_data *adm1031_update_device(struct device *dev)
data->conf2 = adm1031_read_value(client, ADM1031_REG_CONF2); data->conf2 = adm1031_read_value(client, ADM1031_REG_CONF2);
data->alarm = adm1031_read_value(client, ADM1031_REG_STATUS(0)) data->alarm = adm1031_read_value(client, ADM1031_REG_STATUS(0))
| (adm1031_read_value(client, ADM1031_REG_STATUS(1)) | (adm1031_read_value(client, ADM1031_REG_STATUS(1)) << 8);
<< 8); if (data->chip_type == adm1030)
if (data->chip_type == adm1030) {
data->alarm &= 0xc0ff; data->alarm &= 0xc0ff;
}
for (chan=0; chan<(data->chip_type == adm1030 ? 1 : 2); chan++) { for (chan = 0; chan < (data->chip_type == adm1030 ? 1 : 2);
chan++) {
data->fan_div[chan] = data->fan_div[chan] =
adm1031_read_value(client, ADM1031_REG_FAN_DIV(chan)); adm1031_read_value(client,
ADM1031_REG_FAN_DIV(chan));
data->fan_min[chan] = data->fan_min[chan] =
adm1031_read_value(client, ADM1031_REG_FAN_MIN(chan)); adm1031_read_value(client,
ADM1031_REG_FAN_MIN(chan));
data->fan[chan] = data->fan[chan] =
adm1031_read_value(client, ADM1031_REG_FAN_SPEED(chan)); adm1031_read_value(client,
ADM1031_REG_FAN_SPEED(chan));
data->pwm[chan] = data->pwm[chan] =
0xf & (adm1031_read_value(client, ADM1031_REG_PWM) >> (adm1031_read_value(client,
(4*chan)); ADM1031_REG_PWM) >> (4 * chan)) & 0x0f;
} }
data->last_updated = jiffies; data->last_updated = jiffies;
data->valid = 1; data->valid = 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment