Commit 7711f1bd039233464dbde346f4a14a4bb874f77f

Authored by Guenter Roeck
1 parent a844af19b9

hwmon: (vt8231) Convert to use devm_ functions

Convert to use devm_ functions to reduce code size and simplify the code.

Cc: Roger Lucas <vt8231@hiddenengine.co.uk>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>

Showing 1 changed file with 6 additions and 18 deletions Side-by-side Diff

drivers/hwmon/vt8231.c
... ... @@ -789,18 +789,16 @@
789 789  
790 790 /* Reserve the ISA region */
791 791 res = platform_get_resource(pdev, IORESOURCE_IO, 0);
792   - if (!request_region(res->start, VT8231_EXTENT,
793   - vt8231_driver.driver.name)) {
  792 + if (!devm_request_region(&pdev->dev, res->start, VT8231_EXTENT,
  793 + vt8231_driver.driver.name)) {
794 794 dev_err(&pdev->dev, "Region 0x%lx-0x%lx already in use!\n",
795 795 (unsigned long)res->start, (unsigned long)res->end);
796 796 return -ENODEV;
797 797 }
798 798  
799   - data = kzalloc(sizeof(struct vt8231_data), GFP_KERNEL);
800   - if (!data) {
801   - err = -ENOMEM;
802   - goto exit_release;
803   - }
  799 + data = devm_kzalloc(&pdev->dev, sizeof(struct vt8231_data), GFP_KERNEL);
  800 + if (!data)
  801 + return -ENOMEM;
804 802  
805 803 platform_set_drvdata(pdev, data);
806 804 data->addr = res->start;
... ... @@ -812,7 +810,7 @@
812 810 /* Register sysfs hooks */
813 811 err = sysfs_create_group(&pdev->dev.kobj, &vt8231_group);
814 812 if (err)
815   - goto exit_free;
  813 + return err;
816 814  
817 815 /* Must update device information to find out the config field */
818 816 data->uch_config = vt8231_read_value(data, VT8231_REG_UCH_CONFIG);
... ... @@ -850,13 +848,6 @@
850 848 sysfs_remove_group(&pdev->dev.kobj, &vt8231_group_temps[i]);
851 849  
852 850 sysfs_remove_group(&pdev->dev.kobj, &vt8231_group);
853   -
854   -exit_free:
855   - platform_set_drvdata(pdev, NULL);
856   - kfree(data);
857   -
858   -exit_release:
859   - release_region(res->start, VT8231_EXTENT);
860 851 return err;
861 852 }
862 853  
... ... @@ -875,9 +866,6 @@
875 866  
876 867 sysfs_remove_group(&pdev->dev.kobj, &vt8231_group);
877 868  
878   - release_region(data->addr, VT8231_EXTENT);
879   - platform_set_drvdata(pdev, NULL);
880   - kfree(data);
881 869 return 0;
882 870 }
883 871