diff options
author | Guenter Roeck <linux@roeck-us.net> | 2012-06-02 12:57:58 -0400 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2012-07-22 00:48:39 -0400 |
commit | 06ce97d608fb0599509c1c586662ba4778719fc4 (patch) | |
tree | 2a59b5bee1e4d27534bbf290e3199a0209ef1993 /drivers/hwmon/adm1021.c | |
parent | 4cb14a3a6545bf4c51d6b61b95ccc1afe59510c9 (diff) |
hwmon: (adm1021) 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/hwmon/adm1021.c')
-rw-r--r-- | drivers/hwmon/adm1021.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/drivers/hwmon/adm1021.c b/drivers/hwmon/adm1021.c index 4394e7e99c4..fd1d1b15854 100644 --- a/drivers/hwmon/adm1021.c +++ b/drivers/hwmon/adm1021.c | |||
@@ -366,11 +366,11 @@ static int adm1021_probe(struct i2c_client *client, | |||
366 | struct adm1021_data *data; | 366 | struct adm1021_data *data; |
367 | int err; | 367 | int err; |
368 | 368 | ||
369 | data = kzalloc(sizeof(struct adm1021_data), GFP_KERNEL); | 369 | data = devm_kzalloc(&client->dev, sizeof(struct adm1021_data), |
370 | GFP_KERNEL); | ||
370 | if (!data) { | 371 | if (!data) { |
371 | pr_debug("adm1021: detect failed, kzalloc failed!\n"); | 372 | pr_debug("adm1021: detect failed, devm_kzalloc failed!\n"); |
372 | err = -ENOMEM; | 373 | return -ENOMEM; |
373 | goto error0; | ||
374 | } | 374 | } |
375 | 375 | ||
376 | i2c_set_clientdata(client, data); | 376 | i2c_set_clientdata(client, data); |
@@ -384,21 +384,18 @@ static int adm1021_probe(struct i2c_client *client, | |||
384 | /* Register sysfs hooks */ | 384 | /* Register sysfs hooks */ |
385 | err = sysfs_create_group(&client->dev.kobj, &adm1021_group); | 385 | err = sysfs_create_group(&client->dev.kobj, &adm1021_group); |
386 | if (err) | 386 | if (err) |
387 | goto error1; | 387 | return err; |
388 | 388 | ||
389 | data->hwmon_dev = hwmon_device_register(&client->dev); | 389 | data->hwmon_dev = hwmon_device_register(&client->dev); |
390 | if (IS_ERR(data->hwmon_dev)) { | 390 | if (IS_ERR(data->hwmon_dev)) { |
391 | err = PTR_ERR(data->hwmon_dev); | 391 | err = PTR_ERR(data->hwmon_dev); |
392 | goto error3; | 392 | goto error; |
393 | } | 393 | } |
394 | 394 | ||
395 | return 0; | 395 | return 0; |
396 | 396 | ||
397 | error3: | 397 | error: |
398 | sysfs_remove_group(&client->dev.kobj, &adm1021_group); | 398 | sysfs_remove_group(&client->dev.kobj, &adm1021_group); |
399 | error1: | ||
400 | kfree(data); | ||
401 | error0: | ||
402 | return err; | 399 | return err; |
403 | } | 400 | } |
404 | 401 | ||
@@ -418,7 +415,6 @@ static int adm1021_remove(struct i2c_client *client) | |||
418 | hwmon_device_unregister(data->hwmon_dev); | 415 | hwmon_device_unregister(data->hwmon_dev); |
419 | sysfs_remove_group(&client->dev.kobj, &adm1021_group); | 416 | sysfs_remove_group(&client->dev.kobj, &adm1021_group); |
420 | 417 | ||
421 | kfree(data); | ||
422 | return 0; | 418 | return 0; |
423 | } | 419 | } |
424 | 420 | ||