summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2014-04-04 18:01:32 +0200
committerJean Delvare <jdelvare@suse.de>2014-04-04 18:01:32 +0200
commit0dcb28a1520f1a058058886b5c7510bb1cc0ef60 (patch)
treeee1918e053970f6c487b1c884393aa68dd6804bd
parenthwmon: (f71805f) Fix author's address (diff)
downloadlinux-0dcb28a1520f1a058058886b5c7510bb1cc0ef60.tar.xz
linux-0dcb28a1520f1a058058886b5c7510bb1cc0ef60.zip
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[] = {
NULL
};
+static struct attribute *lm63_attributes_temp2_type[] = {
+ &dev_attr_temp2_type.attr,
+ NULL
+};
+
+static const struct attribute_group lm63_group_temp2_type = {
+ .attrs = lm63_attributes_temp2_type,
+};
+
static struct attribute *lm63_attributes_extra_lut[] = {
&sensor_dev_attr_pwm1_auto_point9_pwm.dev_attr.attr,
&sensor_dev_attr_pwm1_auto_point9_temp.dev_attr.attr,
@@ -1133,7 +1142,8 @@ static int lm63_probe(struct i2c_client *client,
goto exit_remove_files;
}
if (data->kind == lm96163) {
- err = device_create_file(&client->dev, &dev_attr_temp2_type);
+ err = sysfs_create_group(&client->dev.kobj,
+ &lm63_group_temp2_type);
if (err)
goto exit_remove_files;
@@ -1155,7 +1165,7 @@ exit_remove_files:
sysfs_remove_group(&client->dev.kobj, &lm63_group);
sysfs_remove_group(&client->dev.kobj, &lm63_group_fan1);
if (data->kind == lm96163) {
- device_remove_file(&client->dev, &dev_attr_temp2_type);
+ sysfs_remove_group(&client->dev.kobj, &lm63_group_temp2_type);
sysfs_remove_group(&client->dev.kobj, &lm63_group_extra_lut);
}
return err;
@@ -1169,7 +1179,7 @@ static int lm63_remove(struct i2c_client *client)
sysfs_remove_group(&client->dev.kobj, &lm63_group);
sysfs_remove_group(&client->dev.kobj, &lm63_group_fan1);
if (data->kind == lm96163) {
- device_remove_file(&client->dev, &dev_attr_temp2_type);
+ sysfs_remove_group(&client->dev.kobj, &lm63_group_temp2_type);
sysfs_remove_group(&client->dev.kobj, &lm63_group_extra_lut);
}