Commit 0d36dce0 authored by Guenter Roeck's avatar Guenter Roeck
Browse files

hwmon: (ds1621) Convert to use devm_hwmon_device_register_with_groups



Also use new macro __ATTRIBUTE_GROUPS to declare attribute groups.

Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent a150d95b
Loading
Loading
Loading
Loading
+4 −20
Original line number Diff line number Diff line
@@ -354,11 +354,7 @@ static const struct attribute_group ds1621_group = {
	.attrs = ds1621_attributes,
	.is_visible = ds1621_attribute_visible
};

static const struct attribute_group *ds1621_groups[] = {
	&ds1621_group,
	NULL
};
__ATTRIBUTE_GROUPS(ds1621);

static int ds1621_probe(struct i2c_client *client,
			const struct i2c_device_id *id)
@@ -379,23 +375,12 @@ static int ds1621_probe(struct i2c_client *client,
	/* Initialize the DS1621 chip */
	ds1621_init_client(data, client);

	hwmon_dev = hwmon_device_register_with_groups(&client->dev,
	hwmon_dev = devm_hwmon_device_register_with_groups(&client->dev,
							   client->name, data,
							   ds1621_groups);
	if (IS_ERR(hwmon_dev))
		return PTR_ERR(hwmon_dev);

	i2c_set_clientdata(client, hwmon_dev);

	return 0;
}

static int ds1621_remove(struct i2c_client *client)
{
	struct device *hwmon_dev = i2c_get_clientdata(client);

	hwmon_device_unregister(hwmon_dev);

	return 0;
}

@@ -416,7 +401,6 @@ static struct i2c_driver ds1621_driver = {
		.name	= "ds1621",
	},
	.probe		= ds1621_probe,
	.remove		= ds1621_remove,
	.id_table	= ds1621_id,
};