diff options
| author | Guenter Roeck <linux@roeck-us.net> | 2012-06-02 14:20:23 -0400 |
|---|---|---|
| committer | Guenter Roeck <linux@roeck-us.net> | 2012-07-22 00:48:42 -0400 |
| commit | 5d224ade31f0a08c0a0eef9e74a6187c0b8747b4 (patch) | |
| tree | c541494d9d9a4429f1c05357f8e8f51bf1e57bc9 | |
| parent | 5e0c876920e6cc5cd074f1a5a8d4c30783f9baf9 (diff) | |
hwmon: (sis5595) 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>
| -rw-r--r-- | drivers/hwmon/sis5595.c | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/drivers/hwmon/sis5595.c b/drivers/hwmon/sis5595.c index 6c4d8eb9b7ca..8275f0e14eb7 100644 --- a/drivers/hwmon/sis5595.c +++ b/drivers/hwmon/sis5595.c | |||
| @@ -593,17 +593,14 @@ static int __devinit sis5595_probe(struct platform_device *pdev) | |||
| 593 | 593 | ||
| 594 | /* Reserve the ISA region */ | 594 | /* Reserve the ISA region */ |
| 595 | res = platform_get_resource(pdev, IORESOURCE_IO, 0); | 595 | res = platform_get_resource(pdev, IORESOURCE_IO, 0); |
| 596 | if (!request_region(res->start, SIS5595_EXTENT, | 596 | if (!devm_request_region(&pdev->dev, res->start, SIS5595_EXTENT, |
| 597 | sis5595_driver.driver.name)) { | 597 | sis5595_driver.driver.name)) |
| 598 | err = -EBUSY; | 598 | return -EBUSY; |
| 599 | goto exit; | ||
| 600 | } | ||
| 601 | 599 | ||
| 602 | data = kzalloc(sizeof(struct sis5595_data), GFP_KERNEL); | 600 | data = devm_kzalloc(&pdev->dev, sizeof(struct sis5595_data), |
| 603 | if (!data) { | 601 | GFP_KERNEL); |
| 604 | err = -ENOMEM; | 602 | if (!data) |
| 605 | goto exit_release; | 603 | return -ENOMEM; |
| 606 | } | ||
| 607 | 604 | ||
| 608 | mutex_init(&data->lock); | 605 | mutex_init(&data->lock); |
| 609 | mutex_init(&data->update_lock); | 606 | mutex_init(&data->update_lock); |
| @@ -636,7 +633,7 @@ static int __devinit sis5595_probe(struct platform_device *pdev) | |||
| 636 | /* Register sysfs hooks */ | 633 | /* Register sysfs hooks */ |
| 637 | err = sysfs_create_group(&pdev->dev.kobj, &sis5595_group); | 634 | err = sysfs_create_group(&pdev->dev.kobj, &sis5595_group); |
| 638 | if (err) | 635 | if (err) |
| 639 | goto exit_free; | 636 | return err; |
| 640 | if (data->maxins == 4) { | 637 | if (data->maxins == 4) { |
| 641 | err = sysfs_create_group(&pdev->dev.kobj, &sis5595_group_in4); | 638 | err = sysfs_create_group(&pdev->dev.kobj, &sis5595_group_in4); |
| 642 | if (err) | 639 | if (err) |
| @@ -659,11 +656,6 @@ exit_remove_files: | |||
| 659 | sysfs_remove_group(&pdev->dev.kobj, &sis5595_group); | 656 | sysfs_remove_group(&pdev->dev.kobj, &sis5595_group); |
| 660 | sysfs_remove_group(&pdev->dev.kobj, &sis5595_group_in4); | 657 | sysfs_remove_group(&pdev->dev.kobj, &sis5595_group_in4); |
| 661 | sysfs_remove_group(&pdev->dev.kobj, &sis5595_group_temp1); | 658 | sysfs_remove_group(&pdev->dev.kobj, &sis5595_group_temp1); |
| 662 | exit_free: | ||
| 663 | kfree(data); | ||
| 664 | exit_release: | ||
| 665 | release_region(res->start, SIS5595_EXTENT); | ||
| 666 | exit: | ||
| 667 | return err; | 659 | return err; |
| 668 | } | 660 | } |
| 669 | 661 | ||
| @@ -676,10 +668,6 @@ static int __devexit sis5595_remove(struct platform_device *pdev) | |||
| 676 | sysfs_remove_group(&pdev->dev.kobj, &sis5595_group_in4); | 668 | sysfs_remove_group(&pdev->dev.kobj, &sis5595_group_in4); |
| 677 | sysfs_remove_group(&pdev->dev.kobj, &sis5595_group_temp1); | 669 | sysfs_remove_group(&pdev->dev.kobj, &sis5595_group_temp1); |
| 678 | 670 | ||
| 679 | release_region(data->addr, SIS5595_EXTENT); | ||
| 680 | platform_set_drvdata(pdev, NULL); | ||
| 681 | kfree(data); | ||
| 682 | |||
| 683 | return 0; | 671 | return 0; |
| 684 | } | 672 | } |
| 685 | 673 | ||
