• Raag Jadav's avatar
    PM: sleep: Fix symbol export for _SIMPLE_ variants of _PM_OPS() · 8d74f1da
    Raag Jadav authored
    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.
    
    Introduce _DEV_SLEEP_PM_OPS() set of export macros for _SIMPLE_ variants
    of _PM_OPS(), which export dev_pm_ops symbol only in case CONFIG_PM_SLEEP=y
    and discard it otherwise.
    
    Fixes: 34e1ed18 ("PM: Improve EXPORT_*_DEV_PM_OPS macros")
    Signed-off-by: default avatarRaag Jadav <raag.jadav@intel.com>
    Reviewed-by: default avatarPaul Cercueil <paul@crapouillou.net>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    8d74f1da
pm.h 36.6 KB