Commit | Line | Data |
---|---|---|
e44b0cee KH |
1 | /* Copyright (C) 2010 Google, Inc. |
2 | * Copyright (c) 2011, Code Aurora Forum. All rights reserved. | |
3 | * Author: Dima Zavin <dima@android.com> | |
4 | * | |
5 | * This program is free software; you can redistribute it and/or modify | |
6 | * it under the terms of the GNU General Public License version 2 and | |
7 | * only version 2 as published by the Free Software Foundation. | |
8 | * | |
9 | * This program is distributed in the hope that it will be useful, | |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | * GNU General Public License for more details. | |
13 | */ | |
14 | ||
15 | #ifndef _LINUX_MSM_SSBI_H | |
16 | #define _LINUX_MSM_SSBI_H | |
17 | ||
18 | #include <linux/types.h> | |
19 | ||
20 | struct msm_ssbi_slave_info { | |
21 | const char *name; | |
22 | void *platform_data; | |
23 | }; | |
24 | ||
25 | enum msm_ssbi_controller_type { | |
26 | MSM_SBI_CTRL_SSBI = 0, | |
27 | MSM_SBI_CTRL_SSBI2, | |
28 | MSM_SBI_CTRL_PMIC_ARBITER, | |
29 | }; | |
30 | ||
31 | struct msm_ssbi_platform_data { | |
32 | struct msm_ssbi_slave_info slave; | |
33 | enum msm_ssbi_controller_type controller_type; | |
34 | }; | |
35 | ||
36 | #ifdef CONFIG_MSM_SSBI | |
37 | int msm_ssbi_write(struct device *dev, u16 addr, u8 *buf, int len); | |
38 | int msm_ssbi_read(struct device *dev, u16 addr, u8 *buf, int len); | |
39 | #else | |
40 | static inline int msm_ssbi_write(struct device *dev, u16 addr, u8 *buf, int len) | |
41 | { | |
42 | return -ENXIO; | |
43 | } | |
44 | static inline int msm_ssbi_read(struct device *dev, u16 addr, u8 *buf, int len) | |
45 | { | |
46 | return -ENXIO; | |
47 | } | |
48 | #endif | |
49 | #endif |