blob: df64c418034046bd9810cc66bb5ca655a50da2b4 [file] [log] [blame]
Yaniv Gardi47555a52015-10-28 13:15:49 +02001/* 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
19int ufshcd_pltfrm_init(struct platform_device *pdev,
20 struct ufs_hba_variant_ops *vops);
21void ufshcd_pltfrm_shutdown(struct platform_device *pdev);
22
23#ifdef CONFIG_PM
24
25int ufshcd_pltfrm_suspend(struct device *dev);
26int ufshcd_pltfrm_resume(struct device *dev);
27int ufshcd_pltfrm_runtime_suspend(struct device *dev);
28int ufshcd_pltfrm_runtime_resume(struct device *dev);
29int 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_ */