aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/hwmon/w83627hf.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/hwmon/w83627hf.c b/drivers/hwmon/w83627hf.c
index 02bd5c0239a2..3479dc5208e2 100644
--- a/drivers/hwmon/w83627hf.c
+++ b/drivers/hwmon/w83627hf.c
@@ -64,6 +64,10 @@ static unsigned short address;
64/* Insmod parameters */ 64/* Insmod parameters */
65enum chips { any_chip, w83627hf, w83627thf, w83697hf, w83637hf }; 65enum chips { any_chip, w83627hf, w83627thf, w83697hf, w83637hf };
66 66
67static int reset;
68module_param(reset, bool, 0);
69MODULE_PARM_DESC(reset, "Set to one to reset chip on load");
70
67static int init = 1; 71static int init = 1;
68module_param(init, bool, 0); 72module_param(init, bool, 0);
69MODULE_PARM_DESC(init, "Set to zero to bypass chip initialization"); 73MODULE_PARM_DESC(init, "Set to zero to bypass chip initialization");
@@ -1279,7 +1283,15 @@ static void w83627hf_init_client(struct i2c_client *client)
1279 int type = data->type; 1283 int type = data->type;
1280 u8 tmp; 1284 u8 tmp;
1281 1285
1282 if(init) { 1286 if (reset) {
1287 /* Resetting the chip has been the default for a long time,
1288 but repeatedly caused problems (fans going to full
1289 speed...) so it is now optional. It might even go away if
1290 nobody reports it as being useful, as I see very little
1291 reason why this would be needed at all. */
1292 dev_info(&client->dev, "If reset=1 solved a problem you were "
1293 "having, please report!\n");
1294
1283 /* save this register */ 1295 /* save this register */
1284 i = w83627hf_read_value(client, W83781D_REG_BEEP_CONFIG); 1296 i = w83627hf_read_value(client, W83781D_REG_BEEP_CONFIG);
1285 /* Reset all except Watchdog values and last conversion values 1297 /* Reset all except Watchdog values and last conversion values