diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-03-19 04:47:30 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-03-19 04:47:30 -0400 |
commit | 0d4a42f6bd298e826620585e766a154ab460617a (patch) | |
tree | 406d8f7778691d858dbe3e48e4bbb10e99c0a58a /include/linux/i2c | |
parent | d62b4892f3d9f7dd2002e5309be10719d6805b0f (diff) | |
parent | a937536b868b8369b98967929045f1df54234323 (diff) |
Merge tag 'v3.9-rc3' into drm-intel-next-queued
Backmerge so that I can merge Imre Deak's coalesced sg entries fixes,
which depend upon the new for_each_sg_page introduce in
commit a321e91b6d73ed011ffceed384c40d2785cf723b
Author: Imre Deak <imre.deak@intel.com>
Date: Wed Feb 27 17:02:56 2013 -0800
lib/scatterlist: add simple page iterator
The merge itself is just two trivial conflicts:
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'include/linux/i2c')
-rw-r--r-- | include/linux/i2c/atmel_mxt_ts.h | 5 | ||||
-rw-r--r-- | include/linux/i2c/twl.h | 84 |
2 files changed, 50 insertions, 39 deletions
diff --git a/include/linux/i2c/atmel_mxt_ts.h b/include/linux/i2c/atmel_mxt_ts.h index f027f7a63511..99e379b74398 100644 --- a/include/linux/i2c/atmel_mxt_ts.h +++ b/include/linux/i2c/atmel_mxt_ts.h | |||
@@ -15,6 +15,9 @@ | |||
15 | 15 | ||
16 | #include <linux/types.h> | 16 | #include <linux/types.h> |
17 | 17 | ||
18 | /* For key_map array */ | ||
19 | #define MXT_NUM_GPIO 4 | ||
20 | |||
18 | /* Orient */ | 21 | /* Orient */ |
19 | #define MXT_NORMAL 0x0 | 22 | #define MXT_NORMAL 0x0 |
20 | #define MXT_DIAGONAL 0x1 | 23 | #define MXT_DIAGONAL 0x1 |
@@ -39,6 +42,8 @@ struct mxt_platform_data { | |||
39 | unsigned int voltage; | 42 | unsigned int voltage; |
40 | unsigned char orient; | 43 | unsigned char orient; |
41 | unsigned long irqflags; | 44 | unsigned long irqflags; |
45 | bool is_tp; | ||
46 | const unsigned int key_map[MXT_NUM_GPIO]; | ||
42 | }; | 47 | }; |
43 | 48 | ||
44 | #endif /* __LINUX_ATMEL_MXT_TS_H */ | 49 | #endif /* __LINUX_ATMEL_MXT_TS_H */ |
diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h index 1ff54b114efc..488debbef895 100644 --- a/include/linux/i2c/twl.h +++ b/include/linux/i2c/twl.h | |||
@@ -39,51 +39,55 @@ | |||
39 | * address each module uses within a given i2c slave. | 39 | * address each module uses within a given i2c slave. |
40 | */ | 40 | */ |
41 | 41 | ||
42 | /* Module IDs for similar functionalities found in twl4030/twl6030 */ | ||
43 | enum twl_module_ids { | ||
44 | TWL_MODULE_USB, | ||
45 | TWL_MODULE_PIH, | ||
46 | TWL_MODULE_MAIN_CHARGE, | ||
47 | TWL_MODULE_PM_MASTER, | ||
48 | TWL_MODULE_PM_RECEIVER, | ||
49 | |||
50 | TWL_MODULE_RTC, | ||
51 | TWL_MODULE_PWM, | ||
52 | TWL_MODULE_LED, | ||
53 | TWL_MODULE_SECURED_REG, | ||
54 | |||
55 | TWL_MODULE_LAST, | ||
56 | }; | ||
57 | |||
58 | /* Modules only available in twl4030 series */ | ||
42 | enum twl4030_module_ids { | 59 | enum twl4030_module_ids { |
43 | TWL4030_MODULE_USB = 0, /* Slave 0 (i2c address 0x48) */ | 60 | TWL4030_MODULE_AUDIO_VOICE = TWL_MODULE_LAST, |
44 | TWL4030_MODULE_AUDIO_VOICE, /* Slave 1 (i2c address 0x49) */ | ||
45 | TWL4030_MODULE_GPIO, | 61 | TWL4030_MODULE_GPIO, |
46 | TWL4030_MODULE_INTBR, | 62 | TWL4030_MODULE_INTBR, |
47 | TWL4030_MODULE_PIH, | ||
48 | |||
49 | TWL4030_MODULE_TEST, | 63 | TWL4030_MODULE_TEST, |
50 | TWL4030_MODULE_KEYPAD, /* Slave 2 (i2c address 0x4a) */ | 64 | TWL4030_MODULE_KEYPAD, |
65 | |||
51 | TWL4030_MODULE_MADC, | 66 | TWL4030_MODULE_MADC, |
52 | TWL4030_MODULE_INTERRUPTS, | 67 | TWL4030_MODULE_INTERRUPTS, |
53 | TWL4030_MODULE_LED, | ||
54 | |||
55 | TWL4030_MODULE_MAIN_CHARGE, | ||
56 | TWL4030_MODULE_PRECHARGE, | 68 | TWL4030_MODULE_PRECHARGE, |
57 | TWL4030_MODULE_PWM0, | 69 | TWL4030_MODULE_BACKUP, |
58 | TWL4030_MODULE_PWM1, | 70 | TWL4030_MODULE_INT, |
59 | TWL4030_MODULE_PWMA, | ||
60 | 71 | ||
61 | TWL4030_MODULE_PWMB, | ||
62 | TWL5031_MODULE_ACCESSORY, | 72 | TWL5031_MODULE_ACCESSORY, |
63 | TWL5031_MODULE_INTERRUPTS, | 73 | TWL5031_MODULE_INTERRUPTS, |
64 | TWL4030_MODULE_BACKUP, /* Slave 3 (i2c address 0x4b) */ | ||
65 | TWL4030_MODULE_INT, | ||
66 | 74 | ||
67 | TWL4030_MODULE_PM_MASTER, | ||
68 | TWL4030_MODULE_PM_RECEIVER, | ||
69 | TWL4030_MODULE_RTC, | ||
70 | TWL4030_MODULE_SECURED_REG, | ||
71 | TWL4030_MODULE_LAST, | 75 | TWL4030_MODULE_LAST, |
72 | }; | 76 | }; |
73 | 77 | ||
74 | /* Similar functionalities implemented in TWL4030/6030 */ | 78 | /* Modules only available in twl6030 series */ |
75 | #define TWL_MODULE_USB TWL4030_MODULE_USB | 79 | enum twl6030_module_ids { |
76 | #define TWL_MODULE_PIH TWL4030_MODULE_PIH | 80 | TWL6030_MODULE_ID0 = TWL_MODULE_LAST, |
77 | #define TWL_MODULE_MAIN_CHARGE TWL4030_MODULE_MAIN_CHARGE | 81 | TWL6030_MODULE_ID1, |
78 | #define TWL_MODULE_PM_MASTER TWL4030_MODULE_PM_MASTER | 82 | TWL6030_MODULE_ID2, |
79 | #define TWL_MODULE_PM_RECEIVER TWL4030_MODULE_PM_RECEIVER | 83 | TWL6030_MODULE_GPADC, |
80 | #define TWL_MODULE_RTC TWL4030_MODULE_RTC | 84 | TWL6030_MODULE_GASGAUGE, |
81 | #define TWL_MODULE_PWM TWL4030_MODULE_PWM0 | 85 | |
82 | #define TWL_MODULE_LED TWL4030_MODULE_LED | 86 | TWL6030_MODULE_LAST, |
87 | }; | ||
83 | 88 | ||
84 | #define TWL6030_MODULE_ID0 13 | 89 | /* Until the clients has been converted to use TWL_MODULE_LED */ |
85 | #define TWL6030_MODULE_ID1 14 | 90 | #define TWL4030_MODULE_LED TWL_MODULE_LED |
86 | #define TWL6030_MODULE_ID2 15 | ||
87 | 91 | ||
88 | #define GPIO_INTR_OFFSET 0 | 92 | #define GPIO_INTR_OFFSET 0 |
89 | #define KEYPAD_INTR_OFFSET 1 | 93 | #define KEYPAD_INTR_OFFSET 1 |
@@ -171,20 +175,22 @@ TWL_CLASS_IS(4030, TWL4030_CLASS_ID) | |||
171 | TWL_CLASS_IS(6030, TWL6030_CLASS_ID) | 175 | TWL_CLASS_IS(6030, TWL6030_CLASS_ID) |
172 | 176 | ||
173 | /* | 177 | /* |
174 | * Read and write single 8-bit registers | ||
175 | */ | ||
176 | int twl_i2c_write_u8(u8 mod_no, u8 val, u8 reg); | ||
177 | int twl_i2c_read_u8(u8 mod_no, u8 *val, u8 reg); | ||
178 | |||
179 | /* | ||
180 | * Read and write several 8-bit registers at once. | 178 | * Read and write several 8-bit registers at once. |
181 | * | ||
182 | * IMPORTANT: For twl_i2c_write(), allocate num_bytes + 1 | ||
183 | * for the value, and populate your data starting at offset 1. | ||
184 | */ | 179 | */ |
185 | int twl_i2c_write(u8 mod_no, u8 *value, u8 reg, unsigned num_bytes); | 180 | int twl_i2c_write(u8 mod_no, u8 *value, u8 reg, unsigned num_bytes); |
186 | int twl_i2c_read(u8 mod_no, u8 *value, u8 reg, unsigned num_bytes); | 181 | int twl_i2c_read(u8 mod_no, u8 *value, u8 reg, unsigned num_bytes); |
187 | 182 | ||
183 | /* | ||
184 | * Read and write single 8-bit registers | ||
185 | */ | ||
186 | static inline int twl_i2c_write_u8(u8 mod_no, u8 val, u8 reg) { | ||
187 | return twl_i2c_write(mod_no, &val, reg, 1); | ||
188 | } | ||
189 | |||
190 | static inline int twl_i2c_read_u8(u8 mod_no, u8 *val, u8 reg) { | ||
191 | return twl_i2c_read(mod_no, val, reg, 1); | ||
192 | } | ||
193 | |||
188 | int twl_get_type(void); | 194 | int twl_get_type(void); |
189 | int twl_get_version(void); | 195 | int twl_get_version(void); |
190 | int twl_get_hfclk_rate(void); | 196 | int twl_get_hfclk_rate(void); |