Commit 7711f1bd039233464dbde346f4a14a4bb874f77f
1 parent
a844af19b9
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
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 |