diff options
author | Guenter Roeck <linux@roeck-us.net> | 2012-06-02 14:35:53 -0400 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2012-07-22 00:48:42 -0400 |
commit | f625e0fd513fa12cfabec9ed19f71a9bd7dd60e1 (patch) | |
tree | 20ff4e4806e2f446e6b528910611251dc72d244e /drivers | |
parent | 0df9fc7bb8ced5e6fc16a0141d2ee8f6f0eea61c (diff) |
hwmon: (tmp421) 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/tmp421.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/hwmon/tmp421.c b/drivers/hwmon/tmp421.c index 8fac87a38544..6a8ded29f1ed 100644 --- a/drivers/hwmon/tmp421.c +++ b/drivers/hwmon/tmp421.c | |||
@@ -267,7 +267,8 @@ static int tmp421_probe(struct i2c_client *client, | |||
267 | struct tmp421_data *data; | 267 | struct tmp421_data *data; |
268 | int err; | 268 | int err; |
269 | 269 | ||
270 | data = kzalloc(sizeof(struct tmp421_data), GFP_KERNEL); | 270 | data = devm_kzalloc(&client->dev, sizeof(struct tmp421_data), |
271 | GFP_KERNEL); | ||
271 | if (!data) | 272 | if (!data) |
272 | return -ENOMEM; | 273 | return -ENOMEM; |
273 | 274 | ||
@@ -277,11 +278,11 @@ static int tmp421_probe(struct i2c_client *client, | |||
277 | 278 | ||
278 | err = tmp421_init_client(client); | 279 | err = tmp421_init_client(client); |
279 | if (err) | 280 | if (err) |
280 | goto exit_free; | 281 | return err; |
281 | 282 | ||
282 | err = sysfs_create_group(&client->dev.kobj, &tmp421_group); | 283 | err = sysfs_create_group(&client->dev.kobj, &tmp421_group); |
283 | if (err) | 284 | if (err) |
284 | goto exit_free; | 285 | return err; |
285 | 286 | ||
286 | data->hwmon_dev = hwmon_device_register(&client->dev); | 287 | data->hwmon_dev = hwmon_device_register(&client->dev); |
287 | if (IS_ERR(data->hwmon_dev)) { | 288 | if (IS_ERR(data->hwmon_dev)) { |
@@ -293,10 +294,6 @@ static int tmp421_probe(struct i2c_client *client, | |||
293 | 294 | ||
294 | exit_remove: | 295 | exit_remove: |
295 | sysfs_remove_group(&client->dev.kobj, &tmp421_group); | 296 | sysfs_remove_group(&client->dev.kobj, &tmp421_group); |
296 | |||
297 | exit_free: | ||
298 | kfree(data); | ||
299 | |||
300 | return err; | 297 | return err; |
301 | } | 298 | } |
302 | 299 | ||
@@ -307,8 +304,6 @@ static int tmp421_remove(struct i2c_client *client) | |||
307 | hwmon_device_unregister(data->hwmon_dev); | 304 | hwmon_device_unregister(data->hwmon_dev); |
308 | sysfs_remove_group(&client->dev.kobj, &tmp421_group); | 305 | sysfs_remove_group(&client->dev.kobj, &tmp421_group); |
309 | 306 | ||
310 | kfree(data); | ||
311 | |||
312 | return 0; | 307 | return 0; |
313 | } | 308 | } |
314 | 309 | ||