diff options
| -rw-r--r-- | drivers/power/supply/olpc_battery.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/drivers/power/supply/olpc_battery.c b/drivers/power/supply/olpc_battery.c index f7bb9bedd893..d83c77c2a0ec 100644 --- a/drivers/power/supply/olpc_battery.c +++ b/drivers/power/supply/olpc_battery.c | |||
| @@ -634,7 +634,7 @@ static int olpc_battery_probe(struct platform_device *pdev) | |||
| 634 | psy_cfg.of_node = pdev->dev.of_node; | 634 | psy_cfg.of_node = pdev->dev.of_node; |
| 635 | psy_cfg.drv_data = data; | 635 | psy_cfg.drv_data = data; |
| 636 | 636 | ||
| 637 | data->olpc_ac = power_supply_register(&pdev->dev, &olpc_ac_desc, &psy_cfg); | 637 | data->olpc_ac = devm_power_supply_register(&pdev->dev, &olpc_ac_desc, &psy_cfg); |
| 638 | if (IS_ERR(data->olpc_ac)) | 638 | if (IS_ERR(data->olpc_ac)) |
| 639 | return PTR_ERR(data->olpc_ac); | 639 | return PTR_ERR(data->olpc_ac); |
| 640 | 640 | ||
| @@ -648,15 +648,13 @@ static int olpc_battery_probe(struct platform_device *pdev) | |||
| 648 | olpc_bat_desc.num_properties = ARRAY_SIZE(olpc_xo1_bat_props); | 648 | olpc_bat_desc.num_properties = ARRAY_SIZE(olpc_xo1_bat_props); |
| 649 | } | 649 | } |
| 650 | 650 | ||
| 651 | data->olpc_bat = power_supply_register(&pdev->dev, &olpc_bat_desc, &psy_cfg); | 651 | data->olpc_bat = devm_power_supply_register(&pdev->dev, &olpc_bat_desc, &psy_cfg); |
| 652 | if (IS_ERR(data->olpc_bat)) { | 652 | if (IS_ERR(data->olpc_bat)) |
| 653 | ret = PTR_ERR(data->olpc_bat); | 653 | return PTR_ERR(data->olpc_bat); |
| 654 | goto battery_failed; | ||
| 655 | } | ||
| 656 | 654 | ||
| 657 | ret = device_create_bin_file(&data->olpc_bat->dev, &olpc_bat_eeprom); | 655 | ret = device_create_bin_file(&data->olpc_bat->dev, &olpc_bat_eeprom); |
| 658 | if (ret) | 656 | if (ret) |
| 659 | goto eeprom_failed; | 657 | return ret; |
| 660 | 658 | ||
| 661 | ret = device_create_file(&data->olpc_bat->dev, &olpc_bat_error); | 659 | ret = device_create_file(&data->olpc_bat->dev, &olpc_bat_error); |
| 662 | if (ret) | 660 | if (ret) |
| @@ -671,10 +669,6 @@ static int olpc_battery_probe(struct platform_device *pdev) | |||
| 671 | 669 | ||
| 672 | error_failed: | 670 | error_failed: |
| 673 | device_remove_bin_file(&data->olpc_bat->dev, &olpc_bat_eeprom); | 671 | device_remove_bin_file(&data->olpc_bat->dev, &olpc_bat_eeprom); |
| 674 | eeprom_failed: | ||
| 675 | power_supply_unregister(data->olpc_bat); | ||
| 676 | battery_failed: | ||
| 677 | power_supply_unregister(data->olpc_ac); | ||
| 678 | return ret; | 672 | return ret; |
| 679 | } | 673 | } |
| 680 | 674 | ||
| @@ -684,9 +678,6 @@ static int olpc_battery_remove(struct platform_device *pdev) | |||
| 684 | 678 | ||
| 685 | device_remove_file(&data->olpc_bat->dev, &olpc_bat_error); | 679 | device_remove_file(&data->olpc_bat->dev, &olpc_bat_error); |
| 686 | device_remove_bin_file(&data->olpc_bat->dev, &olpc_bat_eeprom); | 680 | device_remove_bin_file(&data->olpc_bat->dev, &olpc_bat_eeprom); |
| 687 | power_supply_unregister(data->olpc_bat); | ||
| 688 | power_supply_unregister(data->olpc_ac); | ||
| 689 | |||
| 690 | return 0; | 681 | return 0; |
| 691 | } | 682 | } |
| 692 | 683 | ||
