[patch 10/36] hwmon: (w83795) Move PWM attributes to a dedidated array

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Use a dedicated 2D array for PWM attributes. This way, PWM attributes
are handled the same way as other attributes, this is more consistent.

Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx>
---
 drivers/hwmon/w83795.c |   18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

--- linux-2.6.36-rc4.orig/drivers/hwmon/w83795.c	2010-09-15 15:11:50.000000000 +0200
+++ linux-2.6.36-rc4/drivers/hwmon/w83795.c	2010-09-15 15:12:18.000000000 +0200
@@ -1470,7 +1470,7 @@ store_sf_setup(struct device *dev, struc
 	SENSOR_ATTR_2(fan##index##_beep, S_IWUSR | S_IRUGO,		\
 		show_alarm_beep, store_beep, BEEP_ENABLE, index + 31) }
 
-#define SENSOR_ATTR_PWM(index)						\
+#define SENSOR_ATTR_PWM(index) {					\
 	SENSOR_ATTR_2(pwm##index, S_IWUSR | S_IRUGO, show_pwm,		\
 		store_pwm, PWM_OUTPUT, index - 1),			\
 	SENSOR_ATTR_2(pwm##index##_nonstop, S_IWUSR | S_IRUGO,		\
@@ -1482,7 +1482,7 @@ store_sf_setup(struct device *dev, struc
 	SENSOR_ATTR_2(fan##index##_div, S_IWUSR | S_IRUGO,	\
 		show_pwm, store_pwm, PWM_DIV, index - 1),	 \
 	SENSOR_ATTR_2(pwm##index##_enable, S_IWUSR | S_IRUGO,		\
-		show_pwm_enable, store_pwm_enable, NOT_USED, index - 1)
+		show_pwm_enable, store_pwm_enable, NOT_USED, index - 1) }
 
 #define SENSOR_ATTR_FANIN_TARGET(index)					\
 	SENSOR_ATTR_2(speed_cruise##index##_target, S_IWUSR | S_IRUGO, \
@@ -1641,13 +1641,11 @@ static struct sensor_device_attribute_2
 	SENSOR_ATTR_FANIN_TARGET(6),
 	SENSOR_ATTR_FANIN_TARGET(7),
 	SENSOR_ATTR_FANIN_TARGET(8),
-	SENSOR_ATTR_PWM(1),
-	SENSOR_ATTR_PWM(2),
 };
 
-/* all registers existed in 795g than 795adg,
- * like PWM3 - PWM8 */
-static struct sensor_device_attribute_2 w83795_left_reg[] = {
+static struct sensor_device_attribute_2 w83795_pwm[][6] = {
+	SENSOR_ATTR_PWM(1),
+	SENSOR_ATTR_PWM(2),
 	SENSOR_ATTR_PWM(3),
 	SENSOR_ATTR_PWM(4),
 	SENSOR_ATTR_PWM(5),
@@ -1809,9 +1807,9 @@ static int w83795_handle_files(struct de
 			return err;
 	}
 
-	if (data->chip_type == w83795g) {
-		for (i = 0; i < ARRAY_SIZE(w83795_left_reg); i++) {
-			err = fn(dev, &w83795_left_reg[i].dev_attr);
+	for (i = 0; i < data->has_pwm; i++) {
+		for (j = 0; j < ARRAY_SIZE(w83795_pwm[0]); j++) {
+			err = fn(dev, &w83795_pwm[i][j].dev_attr);
 			if (err)
 				return err;
 		}


_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors


[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux