Messages in this thread | | | Subject | Re: [PATCH 2/2] platform/chrome: cros_ec_typec: Add PM support | From | Enric Balletbo i Serra <> | Date | Mon, 29 Jun 2020 12:51:21 +0200 |
| |
Hi Prashant,
Thank you for the patch.
On 27/6/20 6:58, Prashant Malani wrote: > Define basic suspend resume functions for cros-ec-typec. On suspend, we > simply ensure that any pending port update work is completed, and on > resume, we re-poll the port state to account for any > changes/disconnections that might have occurred during suspend. > > Signed-off-by: Prashant Malani <pmalani@chromium.org> > --- > drivers/platform/chrome/cros_ec_typec.c | 34 +++++++++++++++++++++++++ > 1 file changed, 34 insertions(+) > > diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c > index 630170fb2cbe..68f15a47450c 100644 > --- a/drivers/platform/chrome/cros_ec_typec.c > +++ b/drivers/platform/chrome/cros_ec_typec.c > @@ -725,11 +725,45 @@ static int cros_typec_probe(struct platform_device *pdev) > return ret; > } > > +#ifdef CONFIG_PM_SLEEP > + > +static int cros_typec_suspend(struct device *dev)
I'd prefer if you can mark these function as __maybe_unused (to avoid the compiler warning) rather than wrapping it in a preprocessor conditional, it makes the code a bit more simple.
> +{ > + struct cros_typec_data *typec = dev_get_drvdata(dev); > + > + cancel_work_sync(&typec->port_work); > + > + return 0; > +} > + > +static int cros_typec_resume(struct device *dev)
__maybe_unused ?
> +{ > + struct cros_typec_data *typec = dev_get_drvdata(dev); > + > + /* Refresh port state. */ > + schedule_work(&typec->port_work); > + > + return 0; > +} > + > +static const struct dev_pm_ops cros_typec_pm_ops = { > + SET_SYSTEM_SLEEP_PM_OPS(cros_typec_suspend, cros_typec_resume) > +}; > + > +#define DEV_PM_OPS (&cros_typec_pm_ops) > + > +#else > + > +#define DEV_PM_OPS NULL > + > +#endif /* CONFIG_PM_SLEEP */
and remove the ifdefy
> + > static struct platform_driver cros_typec_driver = { > .driver = { > .name = DRV_NAME, > .acpi_match_table = ACPI_PTR(cros_typec_acpi_id), > .of_match_table = of_match_ptr(cros_typec_of_match), > + .pm = DEV_PM_OPS,
.pm = &cros_typec_pm_ops,
> }, > .probe = cros_typec_probe, > }; >
Thanks, Enric
| |