aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2014-04-04 12:01:32 -0400
committerJean Delvare <jdelvare@suse.de>2014-04-04 12:01:32 -0400
commit0dcb28a1520f1a058058886b5c7510bb1cc0ef60 (patch)
treeee1918e053970f6c487b1c884393aa68dd6804bd
parent964f945b5e51c58f48ce21fd529a0ec3697b18b0 (diff)
hwmon: (lm63) Add additional sysfs group for temp2_type attribute
With the new hwmon API, we can only add groups of attributes, not individual attributes. To prepare for the use of the new API, add an additional sensor group for the temp2_type attribute and register it with sysfs_create_group instead of device_create_file. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Jean Delvare <jdelvare@suse.de>
-rw-r--r--drivers/hwmon/lm63.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/drivers/hwmon/lm63.c b/drivers/hwmon/lm63.c
index b4ad598feb6c..7ff4fc7c6dbd 100644
--- a/drivers/hwmon/lm63.c
+++ b/drivers/hwmon/lm63.c
@@ -915,6 +915,15 @@ static struct attribute *lm63_attributes[] = {
915 NULL 915 NULL
916}; 916};
917 917
918static struct attribute *lm63_attributes_temp2_type[] = {
919 &dev_attr_temp2_type.attr,
920 NULL
921};
922
923static const struct attribute_group lm63_group_temp2_type = {
924 .attrs = lm63_attributes_temp2_type,
925};
926
918static struct attribute *lm63_attributes_extra_lut[] = { 927static struct attribute *lm63_attributes_extra_lut[] = {
919 &sensor_dev_attr_pwm1_auto_point9_pwm.dev_attr.attr, 928 &sensor_dev_attr_pwm1_auto_point9_pwm.dev_attr.attr,
920 &sensor_dev_attr_pwm1_auto_point9_temp.dev_attr.attr, 929 &sensor_dev_attr_pwm1_auto_point9_temp.dev_attr.attr,
@@ -1133,7 +1142,8 @@ static int lm63_probe(struct i2c_client *client,
1133 goto exit_remove_files; 1142 goto exit_remove_files;
1134 } 1143 }
1135 if (data->kind == lm96163) { 1144 if (data->kind == lm96163) {
1136 err = device_create_file(&client->dev, &dev_attr_temp2_type); 1145 err = sysfs_create_group(&client->dev.kobj,
1146 &lm63_group_temp2_type);
1137 if (err) 1147 if (err)
1138 goto exit_remove_files; 1148 goto exit_remove_files;
1139 1149
@@ -1155,7 +1165,7 @@ exit_remove_files:
1155 sysfs_remove_group(&client->dev.kobj, &lm63_group); 1165 sysfs_remove_group(&client->dev.kobj, &lm63_group);
1156 sysfs_remove_group(&client->dev.kobj, &lm63_group_fan1); 1166 sysfs_remove_group(&client->dev.kobj, &lm63_group_fan1);
1157 if (data->kind == lm96163) { 1167 if (data->kind == lm96163) {
1158 device_remove_file(&client->dev, &dev_attr_temp2_type); 1168 sysfs_remove_group(&client->dev.kobj, &lm63_group_temp2_type);
1159 sysfs_remove_group(&client->dev.kobj, &lm63_group_extra_lut); 1169 sysfs_remove_group(&client->dev.kobj, &lm63_group_extra_lut);
1160 } 1170 }
1161 return err; 1171 return err;
@@ -1169,7 +1179,7 @@ static int lm63_remove(struct i2c_client *client)
1169 sysfs_remove_group(&client->dev.kobj, &lm63_group); 1179 sysfs_remove_group(&client->dev.kobj, &lm63_group);
1170 sysfs_remove_group(&client->dev.kobj, &lm63_group_fan1); 1180 sysfs_remove_group(&client->dev.kobj, &lm63_group_fan1);
1171 if (data->kind == lm96163) { 1181 if (data->kind == lm96163) {
1172 device_remove_file(&client->dev, &dev_attr_temp2_type); 1182 sysfs_remove_group(&client->dev.kobj, &lm63_group_temp2_type);
1173 sysfs_remove_group(&client->dev.kobj, &lm63_group_extra_lut); 1183 sysfs_remove_group(&client->dev.kobj, &lm63_group_extra_lut);
1174 } 1184 }
1175 1185