Messages in this thread | | | Date | Wed, 06 Apr 2011 16:40:18 +0200 | From | Lars-Peter Clausen <> | Subject | Re: [PATCH v2] gpio-charger: Add gpio_charger_resume |
| |
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 >> >> > > >
| |