static void
associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui)
{
- struct psensor **sensor_cur = sensors;
+ bool ret;
+ struct psensor *s;
- while (*sensor_cur) {
- struct psensor *s = *sensor_cur;
+ while (*sensors) {
+ s = *sensors;
s->cb_alarm_raised = cb_alarm_raised;
s->cb_alarm_raised_data = ui;
- s->alarm_high_threshold
- = config_get_sensor_alarm_high_threshold(s->id);
- s->alarm_low_threshold
- = config_get_sensor_alarm_low_threshold(s->id);
+ ret = config_get_sensor_alarm_high_threshold
+ (s->id, &s->alarm_high_threshold);
- sensor_cur++;
+ if (!ret && s->max != UNKNOWN_DBL_VALUE)
+ s->alarm_high_threshold = s->max;
+
+ ret = config_get_sensor_alarm_low_threshold
+ (s->id, &s->alarm_low_threshold);
+
+ if (!ret && s->min != UNKNOWN_DBL_VALUE)
+ s->alarm_low_threshold = s->min;
+
+ sensors++;
}
}