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

From: Andy Shevchenko
Date: Thu Oct 22 2020 - 09:35:39 EST


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.

...

> +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.

> +};

--
With Best Regards,
Andy Shevchenko