hwmon: Add intrusion templates
authorDr. David Alan Gilbert <linux@treblig.org>
Sun, 24 Nov 2019 20:20:29 +0000 (20:20 +0000)
committerGuenter Roeck <linux@roeck-us.net>
Thu, 23 Jan 2020 21:15:09 +0000 (13:15 -0800)
Add templates for intrusion%d_alarm and intrusion%d_beep.
Note, these start at 0.

Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org>
Link: https://lore.kernel.org/r/20191124202030.45360-2-linux@treblig.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/hwmon.c
include/linux/hwmon.h

index d018b20089ecd72d059848065bbb74ffab4e99e7..305a5f608f4499760385c0921a1183c29d2430da 100644 (file)
@@ -188,7 +188,7 @@ static int hwmon_thermal_add_sensor(struct device *dev, int index)
 
 static int hwmon_attr_base(enum hwmon_sensor_types type)
 {
-       if (type == hwmon_in)
+       if (type == hwmon_in || type == hwmon_intrusion)
                return 0;
        return 1;
 }
@@ -474,6 +474,11 @@ static const char * const hwmon_pwm_attr_templates[] = {
        [hwmon_pwm_freq] = "pwm%d_freq",
 };
 
+static const char * const hwmon_intrusion_attr_templates[] = {
+       [hwmon_intrusion_alarm] = "intrusion%d_alarm",
+       [hwmon_intrusion_beep]  = "intrusion%d_beep",
+};
+
 static const char * const *__templates[] = {
        [hwmon_chip] = hwmon_chip_attrs,
        [hwmon_temp] = hwmon_temp_attr_templates,
@@ -484,6 +489,7 @@ static const char * const *__templates[] = {
        [hwmon_humidity] = hwmon_humidity_attr_templates,
        [hwmon_fan] = hwmon_fan_attr_templates,
        [hwmon_pwm] = hwmon_pwm_attr_templates,
+       [hwmon_intrusion] = hwmon_intrusion_attr_templates,
 };
 
 static const int __templates_size[] = {
@@ -496,6 +502,7 @@ static const int __templates_size[] = {
        [hwmon_humidity] = ARRAY_SIZE(hwmon_humidity_attr_templates),
        [hwmon_fan] = ARRAY_SIZE(hwmon_fan_attr_templates),
        [hwmon_pwm] = ARRAY_SIZE(hwmon_pwm_attr_templates),
+       [hwmon_intrusion] = ARRAY_SIZE(hwmon_intrusion_attr_templates),
 };
 
 static int hwmon_num_channel_attrs(const struct hwmon_channel_info *info)
index 72579168189d47c0f3fee924c748ae7ad5831350..dcda9589cdafc3268d3c10e99920fb34d3f9a98a 100644 (file)
@@ -27,6 +27,7 @@ enum hwmon_sensor_types {
        hwmon_humidity,
        hwmon_fan,
        hwmon_pwm,
+       hwmon_intrusion,
        hwmon_max,
 };
 
@@ -306,6 +307,13 @@ enum hwmon_pwm_attributes {
 #define HWMON_PWM_MODE                 BIT(hwmon_pwm_mode)
 #define HWMON_PWM_FREQ                 BIT(hwmon_pwm_freq)
 
+enum hwmon_intrusion_attributes {
+       hwmon_intrusion_alarm,
+       hwmon_intrusion_beep,
+};
+#define HWMON_INTRUSION_ALARM          BIT(hwmon_intrusion_alarm)
+#define HWMON_INTRUSION_BEEP           BIT(hwmon_intrusion_beep)
+
 /**
  * struct hwmon_ops - hwmon device operations
  * @is_visible: Callback to return attribute visibility. Mandatory.