aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/lm95245.c
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2012-06-02 12:58:12 -0400
committerGuenter Roeck <linux@roeck-us.net>2012-09-24 00:08:31 -0400
commita8dd946c420781fd7a70fec8b75e0daf67c4a681 (patch)
treea4412cd303f73e6c33af4af97b0ea55b556e6710 /drivers/hwmon/lm95245.c
parent1487bf70c1b123469893b5dc6d910ef21f59d2f7 (diff)
hwmon: (lm95245) Convert to use devm_ functions
Convert to use devm_ functions to reduce code size and simplify the code. Cc: Alexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon/lm95245.c')
-rw-r--r--drivers/hwmon/lm95245.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/drivers/hwmon/lm95245.c b/drivers/hwmon/lm95245.c
index 9a46c106a240..2915fd908364 100644
--- a/drivers/hwmon/lm95245.c
+++ b/drivers/hwmon/lm95245.c
@@ -462,11 +462,10 @@ static int lm95245_probe(struct i2c_client *new_client,
462 struct lm95245_data *data; 462 struct lm95245_data *data;
463 int err; 463 int err;
464 464
465 data = kzalloc(sizeof(struct lm95245_data), GFP_KERNEL); 465 data = devm_kzalloc(&new_client->dev, sizeof(struct lm95245_data),
466 if (!data) { 466 GFP_KERNEL);
467 err = -ENOMEM; 467 if (!data)
468 goto exit; 468 return -ENOMEM;
469 }
470 469
471 i2c_set_clientdata(new_client, data); 470 i2c_set_clientdata(new_client, data);
472 mutex_init(&data->update_lock); 471 mutex_init(&data->update_lock);
@@ -477,7 +476,7 @@ static int lm95245_probe(struct i2c_client *new_client,
477 /* Register sysfs hooks */ 476 /* Register sysfs hooks */
478 err = sysfs_create_group(&new_client->dev.kobj, &lm95245_group); 477 err = sysfs_create_group(&new_client->dev.kobj, &lm95245_group);
479 if (err) 478 if (err)
480 goto exit_free; 479 return err;
481 480
482 data->hwmon_dev = hwmon_device_register(&new_client->dev); 481 data->hwmon_dev = hwmon_device_register(&new_client->dev);
483 if (IS_ERR(data->hwmon_dev)) { 482 if (IS_ERR(data->hwmon_dev)) {
@@ -489,9 +488,6 @@ static int lm95245_probe(struct i2c_client *new_client,
489 488
490exit_remove_files: 489exit_remove_files:
491 sysfs_remove_group(&new_client->dev.kobj, &lm95245_group); 490 sysfs_remove_group(&new_client->dev.kobj, &lm95245_group);
492exit_free:
493 kfree(data);
494exit:
495 return err; 491 return err;
496} 492}
497 493
@@ -502,7 +498,6 @@ static int lm95245_remove(struct i2c_client *client)
502 hwmon_device_unregister(data->hwmon_dev); 498 hwmon_device_unregister(data->hwmon_dev);
503 sysfs_remove_group(&client->dev.kobj, &lm95245_group); 499 sysfs_remove_group(&client->dev.kobj, &lm95245_group);
504 500
505 kfree(data);
506 return 0; 501 return 0;
507} 502}
508 503