This is a preparation for the next patches. It just adds the sensors with
their possible configurable settings and then fills the struct 
hwmon_channel_info
with all this information.

Signed-off-by: Oscar Salvador <osalvador.vilard...@gmail.com>
Reviewed-by: Martin Peres <martin.pe...@free.fr>
---
 drivers/gpu/drm/nouveau/nouveau_hwmon.c | 72 +++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)

diff --git a/drivers/gpu/drm/nouveau/nouveau_hwmon.c 
b/drivers/gpu/drm/nouveau/nouveau_hwmon.c
index 23b1670..24b40c5 100644
--- a/drivers/gpu/drm/nouveau/nouveau_hwmon.c
+++ b/drivers/gpu/drm/nouveau/nouveau_hwmon.c
@@ -692,6 +692,78 @@ static const struct attribute_group hwmon_power_attrgroup 
= {
 static const struct attribute_group hwmon_power_caps_attrgroup = {
        .attrs = hwmon_power_caps_attributes,
 };
+
+static const u32 nouveau_config_chip[] = {
+       HWMON_C_UPDATE_INTERVAL,
+       0
+};
+
+static const u32 nouveau_config_in[] = {
+       HWMON_I_INPUT | HWMON_I_MIN | HWMON_I_MAX | HWMON_I_LABEL,
+       0
+};
+
+static const u32 nouveau_config_temp[] = {
+       HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST |
+       HWMON_T_CRIT | HWMON_T_CRIT_HYST | HWMON_T_EMERGENCY |
+       HWMON_T_EMERGENCY_HYST,
+       0
+};
+
+static const u32 nouveau_config_fan[] = {
+       HWMON_F_INPUT,
+       0
+};
+
+static const u32 nouveau_config_pwm[] = {
+       HWMON_PWM_INPUT | HWMON_PWM_ENABLE,
+       0
+};
+
+static const u32 nouveau_config_power[] = {
+       HWMON_P_INPUT | HWMON_P_CAP_MAX | HWMON_P_CRIT,
+       0
+};
+
+static const struct hwmon_channel_info nouveau_chip = {
+       .type = hwmon_chip,
+       .config = nouveau_config_chip,
+};
+
+static const struct hwmon_channel_info nouveau_temp = {
+       .type = hwmon_temp,
+       .config = nouveau_config_temp,
+};
+
+static const struct hwmon_channel_info nouveau_fan = {
+       .type = hwmon_fan,
+       .config = nouveau_config_fan,
+};
+
+static const struct hwmon_channel_info nouveau_in = {
+       .type = hwmon_in,
+       .config = nouveau_config_in,
+};
+
+static const struct hwmon_channel_info nouveau_pwm = {
+       .type = hwmon_pwm,
+       .config = nouveau_config_pwm,
+};
+
+static const struct hwmon_channel_info nouveau_power = {
+       .type = hwmon_power,
+       .config = nouveau_config_power,
+};
+
+static const struct hwmon_channel_info *nouveau_info[] = {
+       &nouveau_chip,
+       &nouveau_temp,
+       &nouveau_fan,
+       &nouveau_in,
+       &nouveau_pwm,
+       &nouveau_power,
+       NULL
+};
 #endif
 
 int
-- 
2.1.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to