diff --git a/drivers/hwmon/lm87.c b/drivers/hwmon/lm87.c index 3ce825489e349c0c106646356397aa87eae69531..988ae1c4aada69ebb2f9315258ac1b4ee878f65b 100644 --- a/drivers/hwmon/lm87.c +++ b/drivers/hwmon/lm87.c @@ -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, @@ -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)) { diff --git a/drivers/hwmon/w83627hf.c b/drivers/hwmon/w83627hf.c index d7e240635b3b7b3d370d81db423e48e90b3249a8..3ed67a5cd53c216f94e4c291606b201e47db3bb3 100644 --- a/drivers/hwmon/w83627hf.c +++ b/drivers/hwmon/w83627hf.c @@ -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, @@ -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])) {