aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2012-06-02 14:35:53 -0400
committerGuenter Roeck <linux@roeck-us.net>2012-07-22 00:48:42 -0400
commitf625e0fd513fa12cfabec9ed19f71a9bd7dd60e1 (patch)
tree20ff4e4806e2f446e6b528910611251dc72d244e /drivers
parent0df9fc7bb8ced5e6fc16a0141d2ee8f6f0eea61c (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.c13
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
294exit_remove: 295exit_remove:
295 sysfs_remove_group(&client->dev.kobj, &tmp421_group); 296 sysfs_remove_group(&client->dev.kobj, &tmp421_group);
296
297exit_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