Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 894c00cf authored by Jean Delvare's avatar Jean Delvare Committed by Mark M. Hoffman
Browse files

hwmon: (thmc50) Don't create temp3 if not enabled

parent c2803b98
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -237,7 +237,7 @@ static const struct attribute_group thmc50_group = {
};

/* for ADM1022 3rd temperature mode */
static struct attribute *adm1022_attributes[] = {
static struct attribute *temp3_attributes[] = {
	&sensor_dev_attr_temp3_max.dev_attr.attr,
	&sensor_dev_attr_temp3_min.dev_attr.attr,
	&sensor_dev_attr_temp3_input.dev_attr.attr,
@@ -246,8 +246,8 @@ static struct attribute *adm1022_attributes[] = {
	NULL
};

static const struct attribute_group adm1022_group = {
	.attrs = adm1022_attributes,
static const struct attribute_group temp3_group = {
	.attrs = temp3_attributes,
};

static int thmc50_detect(struct i2c_adapter *adapter, int address, int kind)
@@ -345,9 +345,9 @@ static int thmc50_detect(struct i2c_adapter *adapter, int address, int kind)
		goto exit_detach;

	/* Register ADM1022 sysfs hooks */
	if (data->type == adm1022)
	if (data->has_temp3)
		if ((err = sysfs_create_group(&client->dev.kobj,
					      &adm1022_group)))
					      &temp3_group)))
			goto exit_remove_sysfs_thmc50;

	/* Register a new directory entry with module sensors */
@@ -360,8 +360,8 @@ static int thmc50_detect(struct i2c_adapter *adapter, int address, int kind)
	return 0;

exit_remove_sysfs:
	if (data->type == adm1022)
		sysfs_remove_group(&client->dev.kobj, &adm1022_group);
	if (data->has_temp3)
		sysfs_remove_group(&client->dev.kobj, &temp3_group);
exit_remove_sysfs_thmc50:
	sysfs_remove_group(&client->dev.kobj, &thmc50_group);
exit_detach:
@@ -386,8 +386,8 @@ static int thmc50_detach_client(struct i2c_client *client)

	hwmon_device_unregister(data->hwmon_dev);
	sysfs_remove_group(&client->dev.kobj, &thmc50_group);
	if (data->type == adm1022)
		sysfs_remove_group(&client->dev.kobj, &adm1022_group);
	if (data->has_temp3)
		sysfs_remove_group(&client->dev.kobj, &temp3_group);

	if ((err = i2c_detach_client(client)))
		return err;