Messages in this thread | | | Date | Wed, 6 Apr 2011 13:58:47 -0700 | Subject | Re: [PATCH v2] gpio-charger: Add gpio_charger_resume | From | Benson Leung <> |
| |
Thanks Lars,
v3 coming right up.
Benson
On Wed, Apr 6, 2011 at 7:40 AM, Lars-Peter Clausen <lars@metafoo.de> wrote: > On 04/06/2011 11:08 AM, Benson Leung wrote: >> Hi Lars, >> >> Please take another look. >> >> Thanks, >> Benson >> > > Hi > > Some minor issues: > >> On Sat, Apr 2, 2011 at 7:13 PM, Benson Leung <bleung@chromium.org> wrote: >>> 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> >>> >>> -- >>> Version history : >>> v2 : Changed to use dev_pm_ops >>> v1 : Initial >>> --- >>> drivers/power/gpio-charger.c | 20 ++++++++++++++++++++ >>> 1 files changed, 20 insertions(+), 0 deletions(-) >>> >>> diff --git a/drivers/power/gpio-charger.c b/drivers/power/gpio-charger.c >>> index 25b88ac..df29059 100644 >>> --- a/drivers/power/gpio-charger.c >>> +++ b/drivers/power/gpio-charger.c >>> @@ -161,12 +161,32 @@ static int __devexit gpio_charger_remove(struct platform_device *pdev) >>> return 0; >>> } >>> >>> +#if defined(CONFIG_PM) > > #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; >>> +} >>> + >>> +static const struct dev_pm_ops gpio_charger_pm_ops = { >>> + .resume = gpio_charger_resume, >>> +}; >>> +#endif > > static SIMPLE_DEV_PM_OPS(gpio_charger_pm_ops, gpio_charger_resume, NULL); > > This will also setup the pm hooks for suspend to disk. > And SIMPLE_DEV_PM_OPS will also ignore the callbacks if CONFIG_PM_SLEEP is not > set, so it can go outside of the #ifdef CONFIG_PM_SLEEP and you can also get > rid of the #ifdef ... > >>> + >>> + >>> static struct platform_driver gpio_charger_driver = { >>> .probe = gpio_charger_probe, >>> .remove = __devexit_p(gpio_charger_remove), >>> .driver = { >>> .name = "gpio-charger", >>> .owner = THIS_MODULE, >>> +#if defined(CONFIG_PM) >>> + .pm = &gpio_charger_pm_ops, >>> +#endif > > ... here. > >>> }, >>> }; >>> >>> -- >>> 1.7.1 >>> >>> >> >> >> > >
-- Benson Leung Software Engineer, Chrom* OS bleung@chromium.org -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |