summaryrefslogtreecommitdiffstats
path: root/drivers/staging/nvec/nvec_power.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/nvec/nvec_power.c')
-rw-r--r--drivers/staging/nvec/nvec_power.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/staging/nvec/nvec_power.c b/drivers/staging/nvec/nvec_power.c
index 063f6d5..cc8ccd7 100644
--- a/drivers/staging/nvec/nvec_power.c
+++ b/drivers/staging/nvec/nvec_power.c
@@ -407,8 +407,25 @@ static int __devinit nvec_power_probe(struct platform_device *pdev)
return power_supply_register(&pdev->dev, psy);
}
+static int __devexit nvec_power_remove(struct platform_device *pdev)
+{
+ struct nvec_power *power = platform_get_drvdata(pdev);
+
+ cancel_delayed_work_sync(&power->poller);
+ switch (pdev->id) {
+ case AC:
+ power_supply_unregister(&nvec_psy);
+ break;
+ case BAT:
+ power_supply_unregister(&nvec_bat_psy);
+ }
+
+ return 0;
+}
+
static struct platform_driver nvec_power_driver = {
.probe = nvec_power_probe,
+ .remove = __devexit_p(nvec_power_remove),
.driver = {
.name = "nvec-power",
.owner = THIS_MODULE,
OpenPOWER on IntegriCloud