On 3/24/20 6:59 AM, Hans de Goede wrote: > On devices with an AXP288, we need to wakeup from suspend when a charger > is plugged in, so that we can do charger-type detection and so that the > axp288-charger driver, which listens for our extcon events, can configure > the input-current-limit accordingly. > > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> > --- > drivers/extcon/extcon-axp288.c | 32 ++++++++++++++++++++++++++++++++ > 1 file changed, 32 insertions(+) > > diff --git a/drivers/extcon/extcon-axp288.c b/drivers/extcon/extcon-axp288.c > index a7f216191493..710a3bb66e95 100644 > --- a/drivers/extcon/extcon-axp288.c > +++ b/drivers/extcon/extcon-axp288.c > @@ -443,9 +443,40 @@ static int axp288_extcon_probe(struct platform_device *pdev) > /* Start charger cable type detection */ > axp288_extcon_enable(info); > > + device_init_wakeup(dev, true); > + platform_set_drvdata(pdev, info); > + > + return 0; > +} > + > +static int __maybe_unused axp288_extcon_suspend(struct device *dev) > +{ > + struct axp288_extcon_info *info = dev_get_drvdata(dev); > + > + if (device_may_wakeup(dev)) > + enable_irq_wake(info->irq[VBUS_RISING_IRQ]); > + > return 0; > } > > +static int __maybe_unused axp288_extcon_resume(struct device *dev) > +{ > + struct axp288_extcon_info *info = dev_get_drvdata(dev); > + > + /* > + * Wakeup when a charger is connected to do charger-type > + * connection and generate an extcon event which makes the > + * axp288 charger driver set the input current limit. > + */ > + if (device_may_wakeup(dev)) > + disable_irq_wake(info->irq[VBUS_RISING_IRQ]); > + > + return 0; > +} > + > +static SIMPLE_DEV_PM_OPS(axp288_extcon_pm_ops, axp288_extcon_suspend, > + axp288_extcon_resume); > + > static const struct platform_device_id axp288_extcon_table[] = { > { .name = "axp288_extcon" }, > {}, > @@ -457,6 +488,7 @@ static struct platform_driver axp288_extcon_driver = { > .id_table = axp288_extcon_table, > .driver = { > .name = "axp288_extcon", > + .pm = &axp288_extcon_pm_ops, > }, > }; > > Applied it. Thanks. -- Best Regards, Chanwoo Choi Samsung Electronics