// SPDX-License-Identifier: GPL-2.0 /* * drivers/base/power/generic_ops.c - Generic PM callbacks for subsystems * * Copyright (c) 2010 Rafael J. Wysocki <[email protected]>, Novell Inc. */ #include <linux/pm.h> #include <linux/pm_runtime.h> #include <linux/export.h> #ifdef CONFIG_PM /** * pm_generic_runtime_suspend - Generic runtime suspend callback for subsystems. * @dev: Device to suspend. * * If PM operations are defined for the @dev's driver and they include * ->runtime_suspend(), execute it and return its error code. Otherwise, * return 0. */ int pm_generic_runtime_suspend(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_runtime_resume - Generic runtime resume callback for subsystems. * @dev: Device to resume. * * If PM operations are defined for the @dev's driver and they include * ->runtime_resume(), execute it and return its error code. Otherwise, * return 0. */ int pm_generic_runtime_resume(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); #endif /* CONFIG_PM */ #ifdef CONFIG_PM_SLEEP /** * pm_generic_prepare - Generic routine preparing a device for power transition. * @dev: Device to prepare. * * Prepare a device for a system-wide power transition. */ int pm_generic_prepare(struct device *dev) { … } /** * pm_generic_suspend_noirq - Generic suspend_noirq callback for subsystems. * @dev: Device to suspend. */ int pm_generic_suspend_noirq(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_suspend_late - Generic suspend_late callback for subsystems. * @dev: Device to suspend. */ int pm_generic_suspend_late(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_suspend - Generic suspend callback for subsystems. * @dev: Device to suspend. */ int pm_generic_suspend(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_freeze_noirq - Generic freeze_noirq callback for subsystems. * @dev: Device to freeze. */ int pm_generic_freeze_noirq(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_freeze_late - Generic freeze_late callback for subsystems. * @dev: Device to freeze. */ int pm_generic_freeze_late(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_freeze - Generic freeze callback for subsystems. * @dev: Device to freeze. */ int pm_generic_freeze(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_poweroff_noirq - Generic poweroff_noirq callback for subsystems. * @dev: Device to handle. */ int pm_generic_poweroff_noirq(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_poweroff_late - Generic poweroff_late callback for subsystems. * @dev: Device to handle. */ int pm_generic_poweroff_late(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_poweroff - Generic poweroff callback for subsystems. * @dev: Device to handle. */ int pm_generic_poweroff(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_thaw_noirq - Generic thaw_noirq callback for subsystems. * @dev: Device to thaw. */ int pm_generic_thaw_noirq(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_thaw_early - Generic thaw_early callback for subsystems. * @dev: Device to thaw. */ int pm_generic_thaw_early(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_thaw - Generic thaw callback for subsystems. * @dev: Device to thaw. */ int pm_generic_thaw(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_resume_noirq - Generic resume_noirq callback for subsystems. * @dev: Device to resume. */ int pm_generic_resume_noirq(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_resume_early - Generic resume_early callback for subsystems. * @dev: Device to resume. */ int pm_generic_resume_early(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_resume - Generic resume callback for subsystems. * @dev: Device to resume. */ int pm_generic_resume(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_restore_noirq - Generic restore_noirq callback for subsystems. * @dev: Device to restore. */ int pm_generic_restore_noirq(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_restore_early - Generic restore_early callback for subsystems. * @dev: Device to resume. */ int pm_generic_restore_early(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_restore - Generic restore callback for subsystems. * @dev: Device to restore. */ int pm_generic_restore(struct device *dev) { … } EXPORT_SYMBOL_GPL(…); /** * pm_generic_complete - Generic routine completing a device power transition. * @dev: Device to handle. * * Complete a device power transition during a system-wide power transition. */ void pm_generic_complete(struct device *dev) { … } #endif /* CONFIG_PM_SLEEP */