Skip to content

Commit

Permalink
hwmon: Only call vid_which_vrm() when needed
Browse files Browse the repository at this point in the history
Some hardware monitoring drivers create the VID/VRM interface files
conditionally depending on the chip model or configuration. We should
only call vid_which_vrm() when we are actually going to create the
files. Not only it is more logical and efficient that way, but it also
prevents printing unnecessary warnings such as the one reported here:
http://lists.lm-sensors.org/pipermail/lm-sensors/2007-February/018954.html

Signed-off-by: Jean Delvare <khali@linux-fr.org>
  • Loading branch information
Jean Delvare authored and Jean Delvare committed May 8, 2007
1 parent 94e183f commit 8a665a0
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
2 changes: 1 addition & 1 deletion drivers/hwmon/lm87.c
Original file line number Diff line number Diff line change
Expand Up @@ -747,6 +747,7 @@ static int lm87_detect(struct i2c_adapter *adapter, int address, int kind)
}

if (!(data->channel & CHAN_NO_VID)) {
data->vrm = vid_which_vrm();
if ((err = device_create_file(&new_client->dev,
&dev_attr_cpu0_vid))
|| (err = device_create_file(&new_client->dev,
Expand Down Expand Up @@ -779,7 +780,6 @@ static void lm87_init_client(struct i2c_client *client)
u8 config;

data->channel = lm87_read_value(client, LM87_REG_CHANNEL_MODE);
data->vrm = vid_which_vrm();

config = lm87_read_value(client, LM87_REG_CONFIG);
if (!(config & 0x01)) {
Expand Down
9 changes: 5 additions & 4 deletions drivers/hwmon/w83627hf.c
Original file line number Diff line number Diff line change
Expand Up @@ -1181,12 +1181,16 @@ static int w83627hf_detect(struct i2c_adapter *adapter)
&dev_attr_temp3_type)))
goto ERROR4;

if (kind != w83697hf && data->vid != 0xff)
if (kind != w83697hf && data->vid != 0xff) {
/* Convert VID to voltage based on VRM */
data->vrm = vid_which_vrm();

if ((err = device_create_file(&new_client->dev,
&dev_attr_cpu0_vid))
|| (err = device_create_file(&new_client->dev,
&dev_attr_vrm)))
goto ERROR4;
}

if (kind == w83627thf || kind == w83637hf || kind == w83687thf)
if ((err = device_create_file(&new_client->dev,
Expand Down Expand Up @@ -1420,9 +1424,6 @@ static void w83627hf_init_client(struct i2c_client *client)
w83627hf_read_value(client, W83627THF_REG_VRM_OVT_CFG);
}

/* Convert VID to voltage based on VRM */
data->vrm = vid_which_vrm();

tmp = w83627hf_read_value(client, W83781D_REG_SCFG1);
for (i = 1; i <= 3; i++) {
if (!(tmp & BIT_SCFG1[i - 1])) {
Expand Down

0 comments on commit 8a665a0

Please sign in to comment.