On Wed, Jan 19, 2022 at 05:58:06PM +0200, Alexander Usyskin wrote: > From: Tomas Winkler <tomas.winkler@xxxxxxxxx> > > Implement runtime handlers for mei-gsc, to track > idle state of the device properly. > > CC: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> > Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> > --- > drivers/misc/mei/gsc-me.c | 80 ++++++++++++++++++++++++++++++++++++++- > 1 file changed, 79 insertions(+), 1 deletion(-) > > diff --git a/drivers/misc/mei/gsc-me.c b/drivers/misc/mei/gsc-me.c > index f58e54d2c1fc..fddae8009b62 100644 > --- a/drivers/misc/mei/gsc-me.c > +++ b/drivers/misc/mei/gsc-me.c > @@ -158,7 +158,85 @@ static int __maybe_unused mei_gsc_pm_resume(struct device *device) > return 0; > } > > -static SIMPLE_DEV_PM_OPS(mei_gsc_pm_ops, mei_gsc_pm_suspend, mei_gsc_pm_resume); > +static int __maybe_unused mei_gsc_pm_runtime_idle(struct device *device) > +{ > + struct mei_device *dev; > + > + dev_dbg(device, "rpm: me: runtime_idle\n"); > + > + dev = dev_get_drvdata(device); > + if (!dev) > + return -ENODEV; > + if (mei_write_is_idle(dev)) > + pm_runtime_autosuspend(device); > + > + return -EBUSY; > +} > + > +static int __maybe_unused mei_gsc_pm_runtime_suspend(struct device *device) > +{ > + struct mei_device *dev; > + struct mei_me_hw *hw; > + int ret; > + > + dev_dbg(device, "rpm: me: runtime suspend\n"); No need for debugging code to remain, use ftrace if you really need it. Same for other dev_dbg() calls in this patch, they can all be removed. thanks, greg k-h