Re: [PATCH][v2] PM / sysfs: Expose suspend resume driver flags in sysfs

From: Chen Yu
Date: Thu Oct 22 2020 - 14:51:03 EST


Hi Andy,
On Thu, Oct 22, 2020 at 04:36:25PM +0300, Andy Shevchenko wrote:
> On Thu, Oct 22, 2020 at 12:24 PM Chen Yu <yu.c.chen@xxxxxxxxx> wrote:
> >
> > Currently there are 4 driver flags to control system suspend/resume
> > behavior: DPM_FLAG_NO_DIRECT_COMPLETE, DPM_FLAG_SMART_PREPARE,
> > DPM_FLAG_SMART_SUSPEND and DPM_FLAG_MAY_SKIP_RESUME. Make these flags
> > visible in sysfs as read-only to get a brief understanding of the
> > expected behavior of each device during suspend/resume, so as to
> > facilitate suspend/resume debugging/tuning.
> >
> > For example:
> > /sys/devices/pci0000:00/0000:00:15.1/power/driver_flags:4
> > (DPM_FLAG_SMART_SUSPEND)
> >
> > /sys/devices/pci0000:00/0000:00:07.3/power/driver_flags:5
> > (DPM_FLAG_NO_DIRECT_COMPLETE | DPM_FLAG_SMART_SUSPEND)
>
> ...
>
> > +What: /sys/devices/.../power/driver_flags
> > +Date: October 2020
> > +Contact: Chen Yu <yu.c.chen@xxxxxxxxx>
> > +Description:
> > + The /sys/devices/.../driver_flags attribute contains the driver
> > + flags to control system suspend/resume. The flag is a combination
> > + of DPM_FLAG_NO_DIRECT_COMPLETE, DPM_FLAG_SMART_PREPARE,
> > + DPM_FLAG_SMART_SUSPEND and DPM_FLAG_MAY_SKIP_RESUME, or 0 if the
> > + driver has not set any flag.
>
> > This attribute is read-only. If
> > + CONFIG_PM_ADVANCED_DEBUG is not set this attribute is empty.
>
> Which makes me wonder why we even expose this if the above is not set.
>
> ...
>
It will not be exposed if the config is disabled. 'empty' means
'not present' I think.
> > +static struct attribute *pm_driver_flags_attrs[] = {
> > +#ifdef CONFIG_PM_ADVANCED_DEBUG
> > +#ifdef CONFIG_PM_SLEEP
> > + &dev_attr_driver_flags.attr,
> > +#endif
> > +#endif
>
> > + NULL,
>
> No comma here, please. I think I commented on this internally.
>
Sorry I misunderstood your point previously, I can change in next
version. But might need to wait for Greg to decide if this item
should be exposed or not first.

Thanks,
Chenyu
> > +};
>
> --
> With Best Regards,
> Andy Shevchenko