[RFC v1 0/2] Fix symbol export for _SIMPLE_ variants of _PM_OPS()

From: Raag Jadav
Date: Wed Sep 13 2023 - 03:41:48 EST


Currently EXPORT_*_SIMPLE_DEV_PM_OPS() use EXPORT_*_DEV_PM_OPS() set of
macros to export dev_pm_ops symbol, which export the symbol in case
CONFIG_PM=y but don't take CONFIG_PM_SLEEP into consideration.

Since _SIMPLE_ variants of _PM_OPS() do not include runtime PM handles
and are only used in case CONFIG_PM_SLEEP=y, we should not be exporting
dev_pm_ops symbol for them in case CONFIG_PM_SLEEP=n.

This can be fixed by having two distinct set of export macros for both
_RUNTIME_ and _SIMPLE_ variants of _PM_OPS(), such that the export of
dev_pm_ops symbol used in each variant depends on CONFIG_PM and
CONFIG_PM_SLEEP respectively.

PS: This needs a few (~6) drivers to be updated with new set of macros,
which will be done in following versions if this is worth moving forward.

Raag Jadav (2):
PM: Introduce export macros for _SIMPLE_ variants of _PM_OPS()
PM: Update EXPORT_*_DEV_PM_OPS() to EXPORT_*_RUNTIME_PM_OPS()

include/linux/pm.h | 38 ++++++++++++++++++++++++--------------
include/linux/pm_runtime.h | 13 +++++++++----
2 files changed, 33 insertions(+), 18 deletions(-)

--
2.17.1