diff --git a/drivers/hwmon/lm90.c b/drivers/hwmon/lm90.c index 708bf0e7e4ac..7fef2a1194d9 100644 --- a/drivers/hwmon/lm90.c +++ b/drivers/hwmon/lm90.c @@ -170,7 +170,6 @@ enum chips { lm90, adm1032, lm99, lm86, max6657, max6659, adt7461, max6680, #define LM90_FLAG_ADT7461_EXT (1 << 0) /* ADT7461 extended mode */ /* Device features */ #define LM90_HAVE_OFFSET (1 << 1) /* temperature offset register */ -#define LM90_HAVE_LOCAL_EXT (1 << 2) /* extended local temperature */ #define LM90_HAVE_REM_LIMIT_EXT (1 << 3) /* extended remote limit */ #define LM90_HAVE_EMERGENCY (1 << 4) /* 3rd upper (emergency) limit */ #define LM90_HAVE_EMERGENCY_ALARM (1 << 5)/* emergency alarm */ @@ -214,8 +213,7 @@ struct lm90_params { u16 alert_alarms; /* Which alarm bits trigger ALERT# */ /* Upper 8 bits for max6695/96 */ u8 max_convrate; /* Maximum conversion rate register value */ - u8 reg_local_ext; /* Local extension register if - LM90_HAVE_LOCAL_EXT is set*/ + u8 reg_local_ext; /* Extended local temp register (optional) */ }; static const struct lm90_params lm90_params[] = { @@ -247,19 +245,17 @@ static const struct lm90_params lm90_params[] = { .max_convrate = 9, }, [max6646] = { - .flags = LM90_HAVE_LOCAL_EXT, .alert_alarms = 0x7c, .max_convrate = 6, .reg_local_ext = MAX6657_REG_R_LOCAL_TEMPL, }, [max6657] = { - .flags = LM90_HAVE_LOCAL_EXT, .alert_alarms = 0x7c, .max_convrate = 8, .reg_local_ext = MAX6657_REG_R_LOCAL_TEMPL, }, [max6659] = { - .flags = LM90_HAVE_LOCAL_EXT | LM90_HAVE_EMERGENCY, + .flags = LM90_HAVE_EMERGENCY, .alert_alarms = 0x7c, .max_convrate = 8, .reg_local_ext = MAX6657_REG_R_LOCAL_TEMPL, @@ -270,7 +266,7 @@ static const struct lm90_params lm90_params[] = { .max_convrate = 7, }, [max6696] = { - .flags = LM90_HAVE_LOCAL_EXT | LM90_HAVE_EMERGENCY + .flags = LM90_HAVE_EMERGENCY | LM90_HAVE_EMERGENCY_ALARM | LM90_HAVE_TEMP3, .alert_alarms = 0x187c, .max_convrate = 6, @@ -282,8 +278,7 @@ static const struct lm90_params lm90_params[] = { .max_convrate = 8, }, [sa56004] = { - .flags = LM90_HAVE_OFFSET | LM90_HAVE_REM_LIMIT_EXT - | LM90_HAVE_LOCAL_EXT, + .flags = LM90_HAVE_OFFSET | LM90_HAVE_REM_LIMIT_EXT, .alert_alarms = 0x7b, .max_convrate = 9, .reg_local_ext = SA56004_REG_R_LOCAL_TEMPL, @@ -476,7 +471,7 @@ static struct lm90_data *lm90_update_device(struct device *dev) lm90_read_reg(client, LM90_REG_R_REMOTE_CRIT, &data->temp8[3]); lm90_read_reg(client, LM90_REG_R_TCRIT_HYST, &data->temp_hyst); - if (data->flags & LM90_HAVE_LOCAL_EXT) { + if (data->reg_local_ext) { lm90_read16(client, LM90_REG_R_LOCAL_TEMP, data->reg_local_ext, &data->temp11[4]); @@ -1397,15 +1392,11 @@ static int lm90_probe(struct i2c_client *new_client, /* Set chip capabilities */ data->flags = lm90_params[data->kind].flags; + data->reg_local_ext = lm90_params[data->kind].reg_local_ext; /* Set maximum conversion rate */ data->max_convrate = lm90_params[data->kind].max_convrate; - if (data->flags & LM90_HAVE_LOCAL_EXT) { - data->reg_local_ext = lm90_params[data->kind].reg_local_ext; - WARN_ON(data->reg_local_ext == 0); - } - /* Initialize the LM90 chip */ lm90_init_client(new_client);