Lines Matching defs:sensor
3 * System Control and Power Interface(SCPI) based hwmon sensor driver
57 static void scpi_scale_reading(u64 *value, struct sensor_data *sensor)
59 if (scpi_scale[sensor->info.class] != sensor->scale) {
60 *value *= scpi_scale[sensor->info.class];
61 do_div(*value, sensor->scale);
70 struct sensor_data *sensor = &scpi_sensors->data[zone->sensor_id];
74 ret = scpi_ops->sensor_get_value(sensor->info.sensor_id, &value);
78 scpi_scale_reading(&value, sensor);
90 struct sensor_data *sensor;
94 sensor = container_of(attr, struct sensor_data, dev_attr_input);
96 ret = scpi_ops->sensor_get_value(sensor->info.sensor_id, &value);
100 scpi_scale_reading(&value, sensor);
103 * Temperature sensor values are treated as signed values based on
108 if (sensor->info.class == TEMPERATURE)
117 struct sensor_data *sensor;
119 sensor = container_of(attr, struct sensor_data, dev_attr_label);
121 return sprintf(buf, "%s\n", sensor->info.name);
180 struct sensor_data *sensor = &scpi_sensors->data[idx];
182 ret = scpi_ops->sensor_get_info(i, &sensor->info);
186 switch (sensor->info.class) {
188 snprintf(sensor->input, sizeof(sensor->input),
190 snprintf(sensor->label, sizeof(sensor->input),
195 snprintf(sensor->input, sizeof(sensor->input),
197 snprintf(sensor->label, sizeof(sensor->input),
202 snprintf(sensor->input, sizeof(sensor->input),
204 snprintf(sensor->label, sizeof(sensor->input),
209 snprintf(sensor->input, sizeof(sensor->input),
211 snprintf(sensor->label, sizeof(sensor->input),
216 snprintf(sensor->input, sizeof(sensor->input),
218 snprintf(sensor->label, sizeof(sensor->input),
226 sensor->scale = scale[sensor->info.class];
228 sensor->dev_attr_input.attr.mode = 0444;
229 sensor->dev_attr_input.show = scpi_show_sensor;
230 sensor->dev_attr_input.attr.name = sensor->input;
232 sensor->dev_attr_label.attr.mode = 0444;
233 sensor->dev_attr_label.show = scpi_show_label;
234 sensor->dev_attr_label.attr.name = sensor->label;
236 scpi_sensors->attrs[idx << 1] = &sensor->dev_attr_input.attr;
237 scpi_sensors->attrs[(idx << 1) + 1] = &sensor->dev_attr_label.attr;
265 struct sensor_data *sensor = &scpi_sensors->data[i];
269 if (sensor->info.class != TEMPERATURE)
279 sensor->info.sensor_id,