aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/hwmon/w83795.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/drivers/hwmon/w83795.c b/drivers/hwmon/w83795.c
index fd96e72adde..95b1f860c14 100644
--- a/drivers/hwmon/w83795.c
+++ b/drivers/hwmon/w83795.c
@@ -916,6 +916,21 @@ store_pwm_enable(struct device *dev, struct device_attribute *attr,
916} 916}
917 917
918static ssize_t 918static ssize_t
919show_pwm_mode(struct device *dev, struct device_attribute *attr, char *buf)
920{
921 struct w83795_data *data = w83795_update_pwm_config(dev);
922 int index = to_sensor_dev_attr_2(attr)->index;
923 unsigned int mode;
924
925 if (data->pwm_fomc & (1 << index))
926 mode = 0; /* DC */
927 else
928 mode = 1; /* PWM */
929
930 return sprintf(buf, "%u\n", mode);
931}
932
933static ssize_t
919show_temp_src(struct device *dev, struct device_attribute *attr, char *buf) 934show_temp_src(struct device *dev, struct device_attribute *attr, char *buf)
920{ 935{
921 struct sensor_device_attribute_2 *sensor_attr = 936 struct sensor_device_attribute_2 *sensor_attr =
@@ -1551,6 +1566,8 @@ store_sf_setup(struct device *dev, struct device_attribute *attr,
1551 show_pwm, store_pwm, PWM_FREQ, index - 1), \ 1566 show_pwm, store_pwm, PWM_FREQ, index - 1), \
1552 SENSOR_ATTR_2(pwm##index##_enable, S_IWUSR | S_IRUGO, \ 1567 SENSOR_ATTR_2(pwm##index##_enable, S_IWUSR | S_IRUGO, \
1553 show_pwm_enable, store_pwm_enable, NOT_USED, index - 1), \ 1568 show_pwm_enable, store_pwm_enable, NOT_USED, index - 1), \
1569 SENSOR_ATTR_2(pwm##index##_mode, S_IRUGO, \
1570 show_pwm_mode, NULL, NOT_USED, index - 1), \
1554 SENSOR_ATTR_2(fan##index##_target, S_IWUSR | S_IRUGO, \ 1571 SENSOR_ATTR_2(fan##index##_target, S_IWUSR | S_IRUGO, \
1555 show_fanin, store_fanin, FANIN_TARGET, index - 1) } 1572 show_fanin, store_fanin, FANIN_TARGET, index - 1) }
1556 1573
@@ -1698,7 +1715,7 @@ static const struct sensor_device_attribute_2 w83795_dts[][8] = {
1698 SENSOR_ATTR_DTS(14), 1715 SENSOR_ATTR_DTS(14),
1699}; 1716};
1700 1717
1701static const struct sensor_device_attribute_2 w83795_pwm[][7] = { 1718static const struct sensor_device_attribute_2 w83795_pwm[][8] = {
1702 SENSOR_ATTR_PWM(1), 1719 SENSOR_ATTR_PWM(1),
1703 SENSOR_ATTR_PWM(2), 1720 SENSOR_ATTR_PWM(2),
1704 SENSOR_ATTR_PWM(3), 1721 SENSOR_ATTR_PWM(3),