"BYTE_TEMP"
};
-static const u16 NCT6775_REG_TEMP_ALTERNATE[ARRAY_SIZE(nct6779_temp_label)]
+static const u16 NCT6775_REG_TEMP_ALTERNATE[ARRAY_SIZE(nct6775_temp_label)]
= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x661, 0x662, 0x664 };
static const u16 NCT6776_REG_TEMP_ALTERNATE[ARRAY_SIZE(nct6776_temp_label)]
&& (reg >= 0xff || (data->kind == nct6775
&& reg == 0x00))
&& data->fan_div[i] < 0x07) {
- dev_dbg(dev, "Increasing fan%d "
- "clock divider from %u to %u\n",
+ dev_dbg(dev,
+ "Increasing fan%d clock divider from %u to %u\n",
i + 1, div_from_reg(data->fan_div[i]),
div_from_reg(data->fan_div[i] + 1));
data->fan_div[i]++;
*/
data->fan_min[nr] = 254;
new_div = 7; /* 128 == (1 << 7) */
- dev_warn(dev, "fan%u low limit %lu below minimum %u, set to "
- "minimum\n", nr + 1, val,
- data->fan_from_reg_min(254, 7));
+ dev_warn(dev,
+ "fan%u low limit %lu below minimum %u, set to minimum\n",
+ nr + 1, val, data->fan_from_reg_min(254, 7));
} else if (!reg) {
/*
* Speed above this value cannot possibly be represented,
*/
data->fan_min[nr] = 1;
new_div = 0; /* 1 == (1 << 0) */
- dev_warn(dev, "fan%u low limit %lu above maximum %u, set to "
- "maximum\n", nr + 1, val,
- data->fan_from_reg_min(1, 0));
+ dev_warn(dev,
+ "fan%u low limit %lu above maximum %u, set to maximum\n",
+ nr + 1, val, data->fan_from_reg_min(1, 0));
} else {
/*
* Automatically pick the best divider, i.e. the one such
switch (data->kind) {
case nct6775:
data->in_num = 9;
- data->have_in = 0x1ff;
data->pwm_num = 3;
data->auto_pwm_num = 6;
data->has_fan_div = true;
break;
case nct6776:
data->in_num = 9;
- data->have_in = 0x1ff;
data->pwm_num = 3;
data->auto_pwm_num = 4;
data->has_fan_div = false;
break;
case nct6779:
data->in_num = 15;
- data->have_in = 0x7fff;
data->pwm_num = 5;
data->auto_pwm_num = 4;
data->has_fan_div = false;
err = -ENODEV;
goto exit_release;
}
-
+ data->have_in = (1 << data->in_num) - 1;
data->have_temp = 0;
/*
if (!src || (mask & (1 << src)))
continue;
+ if (src >= data->temp_label_num ||
+ !strlen(data->temp_label[src])) {
+ dev_info(dev, "Invalid temperature source %d\n", src);
+ continue;
+ }
+
mask |= 1 << src;
/* Use fixed index for SYSTIN(1), CPUTIN(2), AUXTIN(3) */
if (data->have_temp & (1 << i))
continue;
data->have_temp |= 1 << i;
- data->reg_temp[0][i] = data->REG_TEMP_ALTERNATE[i];
+ data->reg_temp[0][i]
+ = data->REG_TEMP_ALTERNATE[i];
data->temp_src[i] = i + 1;
continue;
}
}
superio_outb(sio_data->sioreg, NCT6775_REG_CR_FAN_DEBOUNCE,
tmp);
- pr_info("Enabled fan debounce for chip %s\n", data->name);
+ dev_info(&pdev->dev, "Enabled fan debounce for chip %s\n",
+ data->name);
}
superio_exit(sio_data->sioreg);
err = device_create_file(dev, &sda_temp_type[i].dev_attr);
if (err)
goto exit_remove;
- err = device_create_file(dev,
- &sda_temp_offset[i].dev_attr);
+ err = device_create_file(dev, &sda_temp_offset[i].dev_attr);
if (err)
goto exit_remove;
if (i >= NUM_TEMP_ALARM ||
/* Activate logical device if needed */
val = superio_inb(sioaddr, SIO_REG_ENABLE);
if (!(val & 0x01)) {
- pr_warn("Forcibly enabling Super-I/O. "
- "Sensor is probably unusable.\n");
+ pr_warn("Forcibly enabling Super-I/O. Sensor is probably unusable.\n");
superio_outb(sioaddr, SIO_REG_ENABLE, val | 0x01);
}