diff options
author | Guenter Roeck <linux@roeck-us.net> | 2012-06-02 12:58:01 -0400 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2012-09-24 00:08:30 -0400 |
commit | 9cc7dcc5238308250eb3ca4314f6423bd6f54ef0 (patch) | |
tree | bf836b90ed9976d1f202e2a8ded8c99928fc9cda /drivers/hwmon/adt7470.c | |
parent | 0880830096ee314c953d4bd5d017e27589f0e830 (diff) |
hwmon: (adt7470) 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>
Diffstat (limited to 'drivers/hwmon/adt7470.c')
-rw-r--r-- | drivers/hwmon/adt7470.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/drivers/hwmon/adt7470.c b/drivers/hwmon/adt7470.c index 54ec890521ff..39ecb1a3b9ef 100644 --- a/drivers/hwmon/adt7470.c +++ b/drivers/hwmon/adt7470.c | |||
@@ -1256,11 +1256,10 @@ static int adt7470_probe(struct i2c_client *client, | |||
1256 | struct adt7470_data *data; | 1256 | struct adt7470_data *data; |
1257 | int err; | 1257 | int err; |
1258 | 1258 | ||
1259 | data = kzalloc(sizeof(struct adt7470_data), GFP_KERNEL); | 1259 | data = devm_kzalloc(&client->dev, sizeof(struct adt7470_data), |
1260 | if (!data) { | 1260 | GFP_KERNEL); |
1261 | err = -ENOMEM; | 1261 | if (!data) |
1262 | goto exit; | 1262 | return -ENOMEM; |
1263 | } | ||
1264 | 1263 | ||
1265 | data->num_temp_sensors = -1; | 1264 | data->num_temp_sensors = -1; |
1266 | data->auto_update_interval = AUTO_UPDATE_INTERVAL; | 1265 | data->auto_update_interval = AUTO_UPDATE_INTERVAL; |
@@ -1277,7 +1276,7 @@ static int adt7470_probe(struct i2c_client *client, | |||
1277 | data->attrs.attrs = adt7470_attr; | 1276 | data->attrs.attrs = adt7470_attr; |
1278 | err = sysfs_create_group(&client->dev.kobj, &data->attrs); | 1277 | err = sysfs_create_group(&client->dev.kobj, &data->attrs); |
1279 | if (err) | 1278 | if (err) |
1280 | goto exit_free; | 1279 | return err; |
1281 | 1280 | ||
1282 | data->hwmon_dev = hwmon_device_register(&client->dev); | 1281 | data->hwmon_dev = hwmon_device_register(&client->dev); |
1283 | if (IS_ERR(data->hwmon_dev)) { | 1282 | if (IS_ERR(data->hwmon_dev)) { |
@@ -1299,9 +1298,6 @@ exit_unregister: | |||
1299 | hwmon_device_unregister(data->hwmon_dev); | 1298 | hwmon_device_unregister(data->hwmon_dev); |
1300 | exit_remove: | 1299 | exit_remove: |
1301 | sysfs_remove_group(&client->dev.kobj, &data->attrs); | 1300 | sysfs_remove_group(&client->dev.kobj, &data->attrs); |
1302 | exit_free: | ||
1303 | kfree(data); | ||
1304 | exit: | ||
1305 | return err; | 1301 | return err; |
1306 | } | 1302 | } |
1307 | 1303 | ||
@@ -1313,7 +1309,6 @@ static int adt7470_remove(struct i2c_client *client) | |||
1313 | wait_for_completion(&data->auto_update_stop); | 1309 | wait_for_completion(&data->auto_update_stop); |
1314 | hwmon_device_unregister(data->hwmon_dev); | 1310 | hwmon_device_unregister(data->hwmon_dev); |
1315 | sysfs_remove_group(&client->dev.kobj, &data->attrs); | 1311 | sysfs_remove_group(&client->dev.kobj, &data->attrs); |
1316 | kfree(data); | ||
1317 | return 0; | 1312 | return 0; |
1318 | } | 1313 | } |
1319 | 1314 | ||