diff options
-rw-r--r-- | drivers/hwmon/hwmon.c | 20 | ||||
-rw-r--r-- | include/linux/hwmon.h | 29 |
2 files changed, 49 insertions, 0 deletions
diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c index 85f4e27548cb..2dd4e0acfe12 100644 --- a/drivers/hwmon/hwmon.c +++ b/drivers/hwmon/hwmon.c | |||
@@ -356,12 +356,30 @@ static const char * const hwmon_power_attr_templates[] = { | |||
356 | [hwmon_power_crit_alarm] = "power%d_crit_alarm", | 356 | [hwmon_power_crit_alarm] = "power%d_crit_alarm", |
357 | }; | 357 | }; |
358 | 358 | ||
359 | static const char * const hwmon_energy_attr_templates[] = { | ||
360 | [hwmon_energy_input] = "energy%d_input", | ||
361 | [hwmon_energy_label] = "energy%d_label", | ||
362 | }; | ||
363 | |||
364 | static const char * const hwmon_humidity_attr_templates[] = { | ||
365 | [hwmon_humidity_input] = "humidity%d_input", | ||
366 | [hwmon_humidity_label] = "humidity%d_label", | ||
367 | [hwmon_humidity_min] = "humidity%d_min", | ||
368 | [hwmon_humidity_min_hyst] = "humidity%d_min_hyst", | ||
369 | [hwmon_humidity_max] = "humidity%d_max", | ||
370 | [hwmon_humidity_max_hyst] = "humidity%d_max_hyst", | ||
371 | [hwmon_humidity_alarm] = "humidity%d_alarm", | ||
372 | [hwmon_humidity_fault] = "humidity%d_fault", | ||
373 | }; | ||
374 | |||
359 | static const char * const *__templates[] = { | 375 | static const char * const *__templates[] = { |
360 | [hwmon_chip] = hwmon_chip_attr_templates, | 376 | [hwmon_chip] = hwmon_chip_attr_templates, |
361 | [hwmon_temp] = hwmon_temp_attr_templates, | 377 | [hwmon_temp] = hwmon_temp_attr_templates, |
362 | [hwmon_in] = hwmon_in_attr_templates, | 378 | [hwmon_in] = hwmon_in_attr_templates, |
363 | [hwmon_curr] = hwmon_curr_attr_templates, | 379 | [hwmon_curr] = hwmon_curr_attr_templates, |
364 | [hwmon_power] = hwmon_power_attr_templates, | 380 | [hwmon_power] = hwmon_power_attr_templates, |
381 | [hwmon_energy] = hwmon_energy_attr_templates, | ||
382 | [hwmon_humidity] = hwmon_humidity_attr_templates, | ||
365 | }; | 383 | }; |
366 | 384 | ||
367 | static const int __templates_size[] = { | 385 | static const int __templates_size[] = { |
@@ -370,6 +388,8 @@ static const int __templates_size[] = { | |||
370 | [hwmon_in] = ARRAY_SIZE(hwmon_in_attr_templates), | 388 | [hwmon_in] = ARRAY_SIZE(hwmon_in_attr_templates), |
371 | [hwmon_curr] = ARRAY_SIZE(hwmon_curr_attr_templates), | 389 | [hwmon_curr] = ARRAY_SIZE(hwmon_curr_attr_templates), |
372 | [hwmon_power] = ARRAY_SIZE(hwmon_power_attr_templates), | 390 | [hwmon_power] = ARRAY_SIZE(hwmon_power_attr_templates), |
391 | [hwmon_energy] = ARRAY_SIZE(hwmon_energy_attr_templates), | ||
392 | [hwmon_humidity] = ARRAY_SIZE(hwmon_humidity_attr_templates), | ||
373 | }; | 393 | }; |
374 | 394 | ||
375 | static int hwmon_num_channel_attrs(const struct hwmon_channel_info *info) | 395 | static int hwmon_num_channel_attrs(const struct hwmon_channel_info *info) |
diff --git a/include/linux/hwmon.h b/include/linux/hwmon.h index d7e432ef7c2a..57d92f1d779b 100644 --- a/include/linux/hwmon.h +++ b/include/linux/hwmon.h | |||
@@ -26,6 +26,7 @@ enum hwmon_sensor_types { | |||
26 | hwmon_curr, | 26 | hwmon_curr, |
27 | hwmon_power, | 27 | hwmon_power, |
28 | hwmon_energy, | 28 | hwmon_energy, |
29 | hwmon_humidity, | ||
29 | }; | 30 | }; |
30 | 31 | ||
31 | enum hwmon_chip_attributes { | 32 | enum hwmon_chip_attributes { |
@@ -216,6 +217,34 @@ enum hwmon_power_attributes { | |||
216 | #define HWMON_P_MAX_ALARM BIT(hwmon_power_max_alarm) | 217 | #define HWMON_P_MAX_ALARM BIT(hwmon_power_max_alarm) |
217 | #define HWMON_P_CRIT_ALARM BIT(hwmon_power_crit_alarm) | 218 | #define HWMON_P_CRIT_ALARM BIT(hwmon_power_crit_alarm) |
218 | 219 | ||
220 | enum hwmon_energy_attributes { | ||
221 | hwmon_energy_input, | ||
222 | hwmon_energy_label, | ||
223 | }; | ||
224 | |||
225 | #define HWMON_E_INPUT BIT(hwmon_energy_input) | ||
226 | #define HWMON_E_LABEL BIT(hwmon_energy_label) | ||
227 | |||
228 | enum hwmon_humidity_attributes { | ||
229 | hwmon_humidity_input, | ||
230 | hwmon_humidity_label, | ||
231 | hwmon_humidity_min, | ||
232 | hwmon_humidity_min_hyst, | ||
233 | hwmon_humidity_max, | ||
234 | hwmon_humidity_max_hyst, | ||
235 | hwmon_humidity_alarm, | ||
236 | hwmon_humidity_fault, | ||
237 | }; | ||
238 | |||
239 | #define HWMON_H_INPUT BIT(hwmon_humidity_input) | ||
240 | #define HWMON_H_LABEL BIT(hwmon_humidity_label) | ||
241 | #define HWMON_H_MIN BIT(hwmon_humidity_min) | ||
242 | #define HWMON_H_MIN_HYST BIT(hwmon_humidity_min_hyst) | ||
243 | #define HWMON_H_MAX BIT(hwmon_humidity_max) | ||
244 | #define HWMON_H_MAX_HYST BIT(hwmon_humidity_max_hyst) | ||
245 | #define HWMON_H_ALARM BIT(hwmon_humidity_alarm) | ||
246 | #define HWMON_H_FAULT BIT(hwmon_humidity_fault) | ||
247 | |||
219 | /** | 248 | /** |
220 | * struct hwmon_ops - hwmon device operations | 249 | * struct hwmon_ops - hwmon device operations |
221 | * @is_visible: Callback to return attribute visibility. Mandatory. | 250 | * @is_visible: Callback to return attribute visibility. Mandatory. |