diff options
-rw-r--r-- | drivers/hwmon/w83627hf.c | 14 |
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 */ |
65 | enum chips { any_chip, w83627hf, w83627thf, w83697hf, w83637hf }; | 65 | enum chips { any_chip, w83627hf, w83627thf, w83697hf, w83637hf }; |
66 | 66 | ||
67 | static int reset; | ||
68 | module_param(reset, bool, 0); | ||
69 | MODULE_PARM_DESC(reset, "Set to one to reset chip on load"); | ||
70 | |||
67 | static int init = 1; | 71 | static int init = 1; |
68 | module_param(init, bool, 0); | 72 | module_param(init, bool, 0); |
69 | MODULE_PARM_DESC(init, "Set to zero to bypass chip initialization"); | 73 | MODULE_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 |