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>
This commit is contained in:
Guenter Roeck 2014-04-04 18:01:32 +02:00 committed by Jean Delvare
parent 964f945b5e
commit 0dcb28a152
1 changed files with 13 additions and 3 deletions

View 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);
}