hwmon: (lm63) Add additional sysfs group for temp2_type attribute
authorGuenter Roeck <linux@roeck-us.net>
Fri, 4 Apr 2014 16:01:32 +0000 (18:01 +0200)
committerJean Delvare <jdelvare@suse.de>
Fri, 4 Apr 2014 16:01:32 +0000 (18:01 +0200)
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>
drivers/hwmon/lm63.c

index b4ad598feb6c8ee10b7eb3b05ddfef38cf75fc9a..7ff4fc7c6dbd27591021baeb4cda6bf8c2baca16 100644 (file)
@@ -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);
        }