Commit 06ce97d608fb0599509c1c586662ba4778719fc4

Authored by Guenter Roeck
1 parent 4cb14a3a65

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>

Showing 1 changed file with 7 additions and 11 deletions Side-by-side Diff

drivers/hwmon/adm1021.c
... ... @@ -366,11 +366,11 @@
366 366 struct adm1021_data *data;
367 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 371 if (!data) {
371   - pr_debug("adm1021: detect failed, kzalloc failed!\n");
372   - err = -ENOMEM;
373   - goto error0;
  372 + pr_debug("adm1021: detect failed, devm_kzalloc failed!\n");
  373 + return -ENOMEM;
374 374 }
375 375  
376 376 i2c_set_clientdata(client, data);
377 377  
378 378  
379 379  
... ... @@ -384,21 +384,18 @@
384 384 /* Register sysfs hooks */
385 385 err = sysfs_create_group(&client->dev.kobj, &adm1021_group);
386 386 if (err)
387   - goto error1;
  387 + return err;
388 388  
389 389 data->hwmon_dev = hwmon_device_register(&client->dev);
390 390 if (IS_ERR(data->hwmon_dev)) {
391 391 err = PTR_ERR(data->hwmon_dev);
392   - goto error3;
  392 + goto error;
393 393 }
394 394  
395 395 return 0;
396 396  
397   -error3:
  397 +error:
398 398 sysfs_remove_group(&client->dev.kobj, &adm1021_group);
399   -error1:
400   - kfree(data);
401   -error0:
402 399 return err;
403 400 }
404 401  
... ... @@ -418,7 +415,6 @@
418 415 hwmon_device_unregister(data->hwmon_dev);
419 416 sysfs_remove_group(&client->dev.kobj, &adm1021_group);
420 417  
421   - kfree(data);
422 418 return 0;
423 419 }
424 420