gpio-charger: Add gpio_charger_resume
authorBenson Leung <bleung@chromium.org>
Wed, 6 Apr 2011 23:55:20 +0000 (16:55 -0700)
committerAnton Vorontsov <cbouatmailru@gmail.com>
Wed, 20 Apr 2011 13:48:48 +0000 (17:48 +0400)
Gpio charger should notify if the gpio state had changed
during suspend. This will send a CHANGED event each time
the system resumes, ensuring a plug/unplug of the charger
is not missed.

Signed-off-by: Benson Leung <bleung@chromium.org>
Acked-By: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
drivers/power/gpio-charger.c

index 25b88ac..718f2c5 100644 (file)
@@ -161,12 +161,27 @@ static int __devexit gpio_charger_remove(struct platform_device *pdev)
        return 0;
 }
 
+#ifdef CONFIG_PM_SLEEP
+static int gpio_charger_resume(struct device *dev)
+{
+       struct platform_device *pdev = to_platform_device(dev);
+       struct gpio_charger *gpio_charger = platform_get_drvdata(pdev);
+
+       power_supply_changed(&gpio_charger->charger);
+
+       return 0;
+}
+#endif
+
+static SIMPLE_DEV_PM_OPS(gpio_charger_pm_ops, NULL, gpio_charger_resume);
+
 static struct platform_driver gpio_charger_driver = {
        .probe = gpio_charger_probe,
        .remove = __devexit_p(gpio_charger_remove),
        .driver = {
                .name = "gpio-charger",
                .owner = THIS_MODULE,
+               .pm = &gpio_charger_pm_ops,
        },
 };