Skip to contentSkip to conversation

convert temp dev-attrs from

PATCH New Jim Cromie 1 participant 1 message Aug 2, 2005

Subsystems (2)
lore
Share & tools
lore

Jim Cromie

author
#0 lore raw

PATCH 21/23 convert temp dev-attrs from

convert temp dev-attrs from macro-initialization to array initialization, and call device_create_file() in loop on array

$ diffstat 18-temp-arrys-loop
pc87360.c |   70 
++++++++++++++++++++++++++++++++------------------------------
1 files changed, 37 insertions(+), 33 deletions(-)

-------------- next part --------------

drivers/hwmon/pc87360.c +32 -33
diff -ruNp -X exclude-diffs lxF-3/drivers/hwmon/pc87360.c lxF-4/drivers/hwmon/pc87360.c
@@ -686,21 +686,36 @@ static ssize_t set_temp_crit(struct devi
 	return count;
 }
 
-#define declare_temp_sdas(offset) \
-static SENSOR_DEVICE_ATTR(temp##offset##_input, S_IRUGO, \
-	show_temp_input, NULL, offset); \
-static SENSOR_DEVICE_ATTR(temp##offset##_min, S_IWUSR | S_IRUGO, \
-	show_temp_min, set_temp_min, offset); \
-static SENSOR_DEVICE_ATTR(temp##offset##_max, S_IWUSR | S_IRUGO, \
-	show_temp_max, set_temp_max, offset); \
-static SENSOR_DEVICE_ATTR(temp##offset##_crit, S_IWUSR | S_IRUGO, \
-	show_temp_crit, set_temp_crit, offset); \
-static SENSOR_DEVICE_ATTR(temp##offset##_status, S_IRUGO, \
-	show_temp_status, NULL, offset)
-
-declare_temp_sdas(1);
-declare_temp_sdas(2);
-declare_temp_sdas(3);
+static struct sensor_device_attribute sda_temp_input[] +  {
+    __SENSOR_DEVICE_ATTR(temp1_input, S_IRUGO, show_temp_input, NULL, 0),
+    __SENSOR_DEVICE_ATTR(temp2_input, S_IRUGO, show_temp_input, NULL, 1),
+    __SENSOR_DEVICE_ATTR(temp3_input, S_IRUGO, show_temp_input, NULL, 2),
+  };
+static struct sensor_device_attribute sda_temp_status[] +  {
+    __SENSOR_DEVICE_ATTR(temp1_status, S_IRUGO, show_temp_status, NULL, 0),
+    __SENSOR_DEVICE_ATTR(temp2_status, S_IRUGO, show_temp_status, NULL, 1),
+    __SENSOR_DEVICE_ATTR(temp3_status, S_IRUGO, show_temp_status, NULL, 2),
+  };
+static struct sensor_device_attribute sda_temp_min[] +  {
+    __SENSOR_DEVICE_ATTR(temp1_min, S_IRUGO | S_IWUSR, show_temp_min, set_temp_min, 0),
+    __SENSOR_DEVICE_ATTR(temp2_min, S_IRUGO | S_IWUSR, show_temp_min, set_temp_min, 1),
+    __SENSOR_DEVICE_ATTR(temp3_min, S_IRUGO | S_IWUSR, show_temp_min, set_temp_min, 2),
+  };
+static struct sensor_device_attribute sda_temp_max[] +  {
+    __SENSOR_DEVICE_ATTR(temp1_max, S_IRUGO | S_IWUSR, show_temp_max, set_temp_max, 0),
+    __SENSOR_DEVICE_ATTR(temp2_max, S_IRUGO | S_IWUSR, show_temp_max, set_temp_max, 1),
+    __SENSOR_DEVICE_ATTR(temp3_max, S_IRUGO | S_IWUSR, show_temp_max, set_temp_max, 2),
+  };
+static struct sensor_device_attribute sda_temp_crit[] +  {
+    __SENSOR_DEVICE_ATTR(temp1_crit, S_IRUGO | S_IWUSR, show_temp_crit, set_temp_crit, 0),
+    __SENSOR_DEVICE_ATTR(temp2_crit, S_IRUGO | S_IWUSR, show_temp_crit, set_temp_crit, 1),
+    __SENSOR_DEVICE_ATTR(temp3_crit, S_IRUGO | S_IWUSR, show_temp_crit, set_temp_crit, 2),
+  };
 
 
 static ssize_t show_temp_alarms(struct device *dev, struct device_attribute *attr, char *buf)
@@ -929,26 +944,15 @@ static int pc87360_detect(struct i2c_ada
 	}
 
 	if (data->tempnr) {
-		device_create_file(&new_client->dev, &sensor_dev_attr_temp1_input.dev_attr);
-		device_create_file(&new_client->dev, &sensor_dev_attr_temp2_input.dev_attr);
-		device_create_file(&new_client->dev, &sensor_dev_attr_temp1_min.dev_attr);
-		device_create_file(&new_client->dev, &sensor_dev_attr_temp2_min.dev_attr);
-		device_create_file(&new_client->dev, &sensor_dev_attr_temp1_max.dev_attr);
-		device_create_file(&new_client->dev, &sensor_dev_attr_temp2_max.dev_attr);
-		device_create_file(&new_client->dev, &sensor_dev_attr_temp1_crit.dev_attr);
-		device_create_file(&new_client->dev, &sensor_dev_attr_temp2_crit.dev_attr);
-		device_create_file(&new_client->dev, &sensor_dev_attr_temp1_status.dev_attr);
-		device_create_file(&new_client->dev, &sensor_dev_attr_temp2_status.dev_attr);
-
+		for (i=0; i<data->tempnr; i++) {
+			device_create_file(&new_client->dev, &sda_temp_input[i].dev_attr);
+			device_create_file(&new_client->dev, &sda_temp_min[i].dev_attr);
+			device_create_file(&new_client->dev, &sda_temp_max[i].dev_attr);
+			device_create_file(&new_client->dev, &sda_temp_crit[i].dev_attr);
+			device_create_file(&new_client->dev, &sda_temp_status[i].dev_attr);
+		}
 		device_create_file(&new_client->dev, &dev_attr_alarms_temp);
 	}
-	if (data->tempnr = 3) {
-		device_create_file(&new_client->dev, &sensor_dev_attr_temp3_input.dev_attr);
-		device_create_file(&new_client->dev, &sensor_dev_attr_temp3_min.dev_attr);
-		device_create_file(&new_client->dev, &sensor_dev_attr_temp3_max.dev_attr);
-		device_create_file(&new_client->dev, &sensor_dev_attr_temp3_crit.dev_attr);
-		device_create_file(&new_client->dev, &sensor_dev_attr_temp3_status.dev_attr);
-	}
 	if (data->innr = 14) {
 		device_create_file(&new_client->dev, &sensor_dev_attr_temp4_input.dev_attr);
 		device_create_file(&new_client->dev, &sensor_dev_attr_temp5_input.dev_attr);