diff options
author | Guenter Roeck <linux@roeck-us.net> | 2012-06-02 12:57:59 -0400 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2012-07-22 00:48:39 -0400 |
commit | dc2fd6632788bcbe6243a50c6c819fc11b5da76b (patch) | |
tree | e835b8c9cf2c0409497d585a617cfd72ff7d91ad /drivers | |
parent | 3421e212e6dfa6792877ef0b9e7a147ee15a59c0 (diff) |
hwmon: (adm1031) Convert to use devm_ functions
Convert to use devm_ functions to reduce code size and simplify the code.
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/hwmon/adm1031.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/drivers/hwmon/adm1031.c b/drivers/hwmon/adm1031.c index 44e1fd7f3d81..c6a4631e833f 100644 --- a/drivers/hwmon/adm1031.c +++ b/drivers/hwmon/adm1031.c | |||
@@ -954,11 +954,10 @@ static int adm1031_probe(struct i2c_client *client, | |||
954 | struct adm1031_data *data; | 954 | struct adm1031_data *data; |
955 | int err; | 955 | int err; |
956 | 956 | ||
957 | data = kzalloc(sizeof(struct adm1031_data), GFP_KERNEL); | 957 | data = devm_kzalloc(&client->dev, sizeof(struct adm1031_data), |
958 | if (!data) { | 958 | GFP_KERNEL); |
959 | err = -ENOMEM; | 959 | if (!data) |
960 | goto exit; | 960 | return -ENOMEM; |
961 | } | ||
962 | 961 | ||
963 | i2c_set_clientdata(client, data); | 962 | i2c_set_clientdata(client, data); |
964 | data->chip_type = id->driver_data; | 963 | data->chip_type = id->driver_data; |
@@ -975,7 +974,7 @@ static int adm1031_probe(struct i2c_client *client, | |||
975 | /* Register sysfs hooks */ | 974 | /* Register sysfs hooks */ |
976 | err = sysfs_create_group(&client->dev.kobj, &adm1031_group); | 975 | err = sysfs_create_group(&client->dev.kobj, &adm1031_group); |
977 | if (err) | 976 | if (err) |
978 | goto exit_free; | 977 | return err; |
979 | 978 | ||
980 | if (data->chip_type == adm1031) { | 979 | if (data->chip_type == adm1031) { |
981 | err = sysfs_create_group(&client->dev.kobj, &adm1031_group_opt); | 980 | err = sysfs_create_group(&client->dev.kobj, &adm1031_group_opt); |
@@ -994,9 +993,6 @@ static int adm1031_probe(struct i2c_client *client, | |||
994 | exit_remove: | 993 | exit_remove: |
995 | sysfs_remove_group(&client->dev.kobj, &adm1031_group); | 994 | sysfs_remove_group(&client->dev.kobj, &adm1031_group); |
996 | sysfs_remove_group(&client->dev.kobj, &adm1031_group_opt); | 995 | sysfs_remove_group(&client->dev.kobj, &adm1031_group_opt); |
997 | exit_free: | ||
998 | kfree(data); | ||
999 | exit: | ||
1000 | return err; | 996 | return err; |
1001 | } | 997 | } |
1002 | 998 | ||
@@ -1007,7 +1003,6 @@ static int adm1031_remove(struct i2c_client *client) | |||
1007 | hwmon_device_unregister(data->hwmon_dev); | 1003 | hwmon_device_unregister(data->hwmon_dev); |
1008 | sysfs_remove_group(&client->dev.kobj, &adm1031_group); | 1004 | sysfs_remove_group(&client->dev.kobj, &adm1031_group); |
1009 | sysfs_remove_group(&client->dev.kobj, &adm1031_group_opt); | 1005 | sysfs_remove_group(&client->dev.kobj, &adm1031_group_opt); |
1010 | kfree(data); | ||
1011 | return 0; | 1006 | return 0; |
1012 | } | 1007 | } |
1013 | 1008 | ||