]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/power/ds2760_battery.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / power / ds2760_battery.c
index b3c01c16a1640773ade9a1d09b813e9356c30c8b..e534290f32561d6d8322375f6baccf086f0c6de1 100644 (file)
@@ -212,7 +212,7 @@ static int ds2760_battery_read_status(struct ds2760_device_info *di)
        if (di->rem_capacity > 100)
                di->rem_capacity = 100;
 
-       if (di->current_uA >= 100L)
+       if (di->current_uA < -100L)
                di->life_sec = -((di->accum_current_uAh - di->empty_uAh) * 36L)
                                        / (di->current_uA / 100L);
        else
@@ -580,10 +580,8 @@ static int ds2760_battery_remove(struct platform_device *pdev)
 {
        struct ds2760_device_info *di = platform_get_drvdata(pdev);
 
-       cancel_rearming_delayed_workqueue(di->monitor_wqueue,
-                                         &di->monitor_work);
-       cancel_rearming_delayed_workqueue(di->monitor_wqueue,
-                                         &di->set_charged_work);
+       cancel_delayed_work_sync(&di->monitor_work);
+       cancel_delayed_work_sync(&di->set_charged_work);
        destroy_workqueue(di->monitor_wqueue);
        power_supply_unregister(&di->bat);
        kfree(di);