pm_op
callback = pm_op(&dev->pm_domain->ops, state);
callback = pm_op(dev->type->pm, state);
callback = pm_op(dev->class->pm, state);
callback = pm_op(dev->bus->pm, state);
callback = pm_op(dev->driver->pm, state);
callback = pm_op(&dev->pm_domain->ops, state);
callback = pm_op(dev->type->pm, state);
callback = pm_op(dev->class->pm, state);
callback = pm_op(dev->bus->pm, state);
callback = pm_op(dev->driver->pm, state);
if (pm_op == UFS_RUNTIME_PM) {
ret = ufshcd_vops_suspend(hba, pm_op, PRE_CHANGE);
if (pm_op != UFS_RUNTIME_PM)
if (ret && pm_op != UFS_SHUTDOWN_PM) {
if (ret && pm_op != UFS_SHUTDOWN_PM) {
ret = ufshcd_vops_suspend(hba, pm_op, POST_CHANGE);
static int __ufshcd_wl_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
ret = ufshcd_vops_resume(hba, pm_op);
ufshcd_vops_suspend(hba, pm_op, PRE_CHANGE);
ufshcd_vops_suspend(hba, pm_op, POST_CHANGE);
enum ufs_pm_op pm_op;
pm_op = hba->is_sys_suspended ? UFS_SYSTEM_PM : UFS_RUNTIME_PM;
ufshcd_vops_resume(hba, pm_op);
static int __ufshcd_wl_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op)
if (pm_op != UFS_SHUTDOWN_PM) {
pm_lvl = pm_op == UFS_RUNTIME_PM ?
static int exynos_ufs_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op,
static int exynos_ufs_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
static int ufs_hisi_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op,
if (pm_op == UFS_RUNTIME_PM)
static int ufs_hisi_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
static int ufs_mtk_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op,
static int ufs_mtk_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
static int ufs_qcom_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op,
static int ufs_qcom_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
static int ufs_qcom_fw_managed_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op,
static int ufs_qcom_fw_managed_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
static int ufs_sprd_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op,