Hi Stephen, On Fri, Oct 14, 2022 at 05:49:33PM -0700, Stephen Boyd wrote: > This driver purely exposes information from memory to the kernel. Let's > mark it as not having any device PM functionality, so that during > suspend we skip even trying to call a suspend function on this device. > This clears up suspend logs more than anything else, but it also shaves > a few cycles off suspend. > > Cc: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxx> > Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx> > --- > > Resend to fix Bjorn's email. > > drivers/soc/qcom/cmd-db.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/soc/qcom/cmd-db.c b/drivers/soc/qcom/cmd-db.c > index 629a7188b576..33856abd560c 100644 > --- a/drivers/soc/qcom/cmd-db.c > +++ b/drivers/soc/qcom/cmd-db.c > @@ -338,6 +338,8 @@ static int cmd_db_dev_probe(struct platform_device *pdev) > > debugfs_create_file("cmd-db", 0400, NULL, NULL, &cmd_db_debugfs_ops); > > + device_set_pm_not_required(&pdev->dev); > + > return 0; > } > > Sorry for asking this question here, thought it would be easy for you to get the context. I was recently reading this driver and learned about device_set_pm_not_required() API. However, it is not clear how this is working in practice? The driver is calling device_set_pm_not_required() in probe(), however all the checks for device_pm_not_required() happen before probe() is called. For ex: dpm_sysfs_add() and device_pm_add() both happens before probe(). I was expecting not to see /sys/bus/platform/devices/XXXXXX.aop-cmd-db/power directory but it is still present. Also, I believe once driver set this flag, the device clean up might not remove sysfs entries as we have device_pm_not_required() checks active by that time. Would it make sense to add code after probe() and take some action if device_pm_not_required() returns true? Thanks, Pavan