1 /* Copyright (c) 2015, The Linux Foundation. All rights reserved. 2 * 3 * This program is free software; you can redistribute it and/or modify 4 * it under the terms of the GNU General Public License version 2 and 5 * only version 2 as published by the Free Software Foundation. 6 * 7 * This program is distributed in the hope that it will be useful, 8 * but WITHOUT ANY WARRANTY; without even the implied warranty of 9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 * GNU General Public License for more details. 11 * 12 */ 13 14 #ifndef UFSHCD_PLTFRM_H_ 15 #define UFSHCD_PLTFRM_H_ 16 17 #include "ufshcd.h" 18 19 int ufshcd_pltfrm_init(struct platform_device *pdev, 20 struct ufs_hba_variant_ops *vops); 21 void ufshcd_pltfrm_shutdown(struct platform_device *pdev); 22 23 #ifdef CONFIG_PM 24 25 int ufshcd_pltfrm_suspend(struct device *dev); 26 int ufshcd_pltfrm_resume(struct device *dev); 27 int ufshcd_pltfrm_runtime_suspend(struct device *dev); 28 int ufshcd_pltfrm_runtime_resume(struct device *dev); 29 int ufshcd_pltfrm_runtime_idle(struct device *dev); 30 31 #else /* !CONFIG_PM */ 32 33 #define ufshcd_pltfrm_suspend NULL 34 #define ufshcd_pltfrm_resume NULL 35 #define ufshcd_pltfrm_runtime_suspend NULL 36 #define ufshcd_pltfrm_runtime_resume NULL 37 #define ufshcd_pltfrm_runtime_idle NULL 38 39 #endif /* CONFIG_PM */ 40 41 #endif /* UFSHCD_PLTFRM_H_ */ 42