power_supply_unregister(&bci->usb);
fail_register_usb:
power_supply_unregister(&bci->ac);
+
+ if (bci->usb_reg) {
+ if (bci->usb_enabled)
+ regulator_disable(bci->usb_reg);
+ regulator_put(bci->usb_reg);
+ }
+
fail_register_ac:
led_trigger_unregister_simple(bci->charging_any_trig);
platform_set_drvdata(pdev, NULL);
free_irq(bci->irq_chg, bci);
power_supply_unregister(&bci->usb);
power_supply_unregister(&bci->ac);
+
+ if (bci->usb_reg) {
+ if (bci->usb_enabled)
+ regulator_disable(bci->usb_reg);
+ regulator_put(bci->usb_reg);
+ }
+
led_trigger_unregister_simple(bci->charging_any_trig);
platform_set_drvdata(pdev, NULL);
kfree(bci);