Commit 0dcb28a1 authored by Guenter Roeck's avatar Guenter Roeck Committed by Jean Delvare
Browse files

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: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarJean Delvare <jdelvare@suse.de>
parent 964f945b
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -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);
	}