aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/hwmon/hwmon.c20
-rw-r--r--include/linux/hwmon.h29
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
359static const char * const hwmon_energy_attr_templates[] = {
360 [hwmon_energy_input] = "energy%d_input",
361 [hwmon_energy_label] = "energy%d_label",
362};
363
364static 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
359static const char * const *__templates[] = { 375static 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
367static const int __templates_size[] = { 385static 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
375static int hwmon_num_channel_attrs(const struct hwmon_channel_info *info) 395static 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
31enum hwmon_chip_attributes { 32enum 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
220enum 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
228enum 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.