aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/i2c/twl.h84
-rw-r--r--include/linux/mfd/88pm80x.h2
-rw-r--r--include/linux/mfd/abx500.h2
-rw-r--r--include/linux/mfd/abx500/ab8500-sysctrl.h5
-rw-r--r--include/linux/mfd/abx500/ab8500.h12
-rw-r--r--include/linux/mfd/arizona/pdata.h12
-rw-r--r--include/linux/mfd/arizona/registers.h16
-rw-r--r--include/linux/mfd/dbx500-prcmu.h12
-rw-r--r--include/linux/mfd/max8925.h3
-rw-r--r--include/linux/mfd/palmas.h52
-rw-r--r--include/linux/mfd/rtsx_pci.h9
-rw-r--r--include/linux/platform_data/usb-omap.h1
-rw-r--r--include/linux/platform_data/ux500_wdt.h19
-rw-r--r--include/linux/vexpress.h8
14 files changed, 195 insertions, 42 deletions
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 */
43enum 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 */
42enum twl4030_module_ids { 59enum 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 79enum 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)
171TWL_CLASS_IS(6030, TWL6030_CLASS_ID) 175TWL_CLASS_IS(6030, TWL6030_CLASS_ID)
172 176
173/* 177/*
174 * Read and write single 8-bit registers
175 */
176int twl_i2c_write_u8(u8 mod_no, u8 val, u8 reg);
177int 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 */
185int twl_i2c_write(u8 mod_no, u8 *value, u8 reg, unsigned num_bytes); 180int twl_i2c_write(u8 mod_no, u8 *value, u8 reg, unsigned num_bytes);
186int twl_i2c_read(u8 mod_no, u8 *value, u8 reg, unsigned num_bytes); 181int 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 */
186static 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
190static 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
188int twl_get_type(void); 194int twl_get_type(void);
189int twl_get_version(void); 195int twl_get_version(void);
190int twl_get_hfclk_rate(void); 196int twl_get_hfclk_rate(void);
diff --git a/include/linux/mfd/88pm80x.h b/include/linux/mfd/88pm80x.h
index 478672ed0c3d..e94537befabd 100644
--- a/include/linux/mfd/88pm80x.h
+++ b/include/linux/mfd/88pm80x.h
@@ -365,5 +365,5 @@ static inline int pm80x_dev_resume(struct device *dev)
365 365
366extern int pm80x_init(struct i2c_client *client, 366extern int pm80x_init(struct i2c_client *client,
367 const struct i2c_device_id *id); 367 const struct i2c_device_id *id);
368extern int pm80x_deinit(struct i2c_client *client); 368extern int pm80x_deinit(void);
369#endif /* __LINUX_MFD_88PM80X_H */ 369#endif /* __LINUX_MFD_88PM80X_H */
diff --git a/include/linux/mfd/abx500.h b/include/linux/mfd/abx500.h
index 80e3b8683a84..9ead60bc66b7 100644
--- a/include/linux/mfd/abx500.h
+++ b/include/linux/mfd/abx500.h
@@ -311,6 +311,7 @@ int abx500_mask_and_set_register_interruptible(struct device *dev, u8 bank,
311int abx500_get_chip_id(struct device *dev); 311int abx500_get_chip_id(struct device *dev);
312int abx500_event_registers_startup_state_get(struct device *dev, u8 *event); 312int abx500_event_registers_startup_state_get(struct device *dev, u8 *event);
313int abx500_startup_irq_enabled(struct device *dev, unsigned int irq); 313int abx500_startup_irq_enabled(struct device *dev, unsigned int irq);
314void abx500_dump_all_banks(void);
314 315
315struct abx500_ops { 316struct abx500_ops {
316 int (*get_chip_id) (struct device *); 317 int (*get_chip_id) (struct device *);
@@ -321,6 +322,7 @@ struct abx500_ops {
321 int (*mask_and_set_register) (struct device *, u8, u8, u8, u8); 322 int (*mask_and_set_register) (struct device *, u8, u8, u8, u8);
322 int (*event_registers_startup_state_get) (struct device *, u8 *); 323 int (*event_registers_startup_state_get) (struct device *, u8 *);
323 int (*startup_irq_enabled) (struct device *, unsigned int); 324 int (*startup_irq_enabled) (struct device *, unsigned int);
325 void (*dump_all_banks) (struct device *);
324}; 326};
325 327
326int abx500_register_ops(struct device *core_dev, struct abx500_ops *ops); 328int abx500_register_ops(struct device *core_dev, struct abx500_ops *ops);
diff --git a/include/linux/mfd/abx500/ab8500-sysctrl.h b/include/linux/mfd/abx500/ab8500-sysctrl.h
index 10eb50973c39..ebf12e793db9 100644
--- a/include/linux/mfd/abx500/ab8500-sysctrl.h
+++ b/include/linux/mfd/abx500/ab8500-sysctrl.h
@@ -37,6 +37,11 @@ static inline int ab8500_sysctrl_clear(u16 reg, u8 bits)
37 return ab8500_sysctrl_write(reg, bits, 0); 37 return ab8500_sysctrl_write(reg, bits, 0);
38} 38}
39 39
40/* Configuration data for SysClkReq1RfClkBuf - SysClkReq8RfClkBuf */
41struct ab8500_sysctrl_platform_data {
42 u8 initial_req_buf_config[8];
43};
44
40/* Registers */ 45/* Registers */
41#define AB8500_TURNONSTATUS 0x100 46#define AB8500_TURNONSTATUS 0x100
42#define AB8500_RESETSTATUS 0x101 47#define AB8500_RESETSTATUS 0x101
diff --git a/include/linux/mfd/abx500/ab8500.h b/include/linux/mfd/abx500/ab8500.h
index fc0534483c72..9db0bda446a0 100644
--- a/include/linux/mfd/abx500/ab8500.h
+++ b/include/linux/mfd/abx500/ab8500.h
@@ -368,10 +368,12 @@ struct regulator_reg_init;
368struct regulator_init_data; 368struct regulator_init_data;
369struct ab8500_gpio_platform_data; 369struct ab8500_gpio_platform_data;
370struct ab8500_codec_platform_data; 370struct ab8500_codec_platform_data;
371struct ab8500_sysctrl_platform_data;
371 372
372/** 373/**
373 * struct ab8500_platform_data - AB8500 platform data 374 * struct ab8500_platform_data - AB8500 platform data
374 * @irq_base: start of AB8500 IRQs, AB8500_NR_IRQS will be used 375 * @irq_base: start of AB8500 IRQs, AB8500_NR_IRQS will be used
376 * @pm_power_off: Should machine pm power off hook be registered or not
375 * @init: board-specific initialization after detection of ab8500 377 * @init: board-specific initialization after detection of ab8500
376 * @num_regulator_reg_init: number of regulator init registers 378 * @num_regulator_reg_init: number of regulator init registers
377 * @regulator_reg_init: regulator init registers 379 * @regulator_reg_init: regulator init registers
@@ -380,6 +382,7 @@ struct ab8500_codec_platform_data;
380 */ 382 */
381struct ab8500_platform_data { 383struct ab8500_platform_data {
382 int irq_base; 384 int irq_base;
385 bool pm_power_off;
383 void (*init) (struct ab8500 *); 386 void (*init) (struct ab8500 *);
384 int num_regulator_reg_init; 387 int num_regulator_reg_init;
385 struct ab8500_regulator_reg_init *regulator_reg_init; 388 struct ab8500_regulator_reg_init *regulator_reg_init;
@@ -387,6 +390,7 @@ struct ab8500_platform_data {
387 struct regulator_init_data *regulator; 390 struct regulator_init_data *regulator;
388 struct abx500_gpio_platform_data *gpio; 391 struct abx500_gpio_platform_data *gpio;
389 struct ab8500_codec_platform_data *codec; 392 struct ab8500_codec_platform_data *codec;
393 struct ab8500_sysctrl_platform_data *sysctrl;
390}; 394};
391 395
392extern int ab8500_init(struct ab8500 *ab8500, 396extern int ab8500_init(struct ab8500 *ab8500,
@@ -508,4 +512,12 @@ static inline int is_ab9540_2p0_or_earlier(struct ab8500 *ab)
508 return (is_ab9540(ab) && (ab->chip_id < AB8500_CUT2P0)); 512 return (is_ab9540(ab) && (ab->chip_id < AB8500_CUT2P0));
509} 513}
510 514
515#ifdef CONFIG_AB8500_DEBUG
516void ab8500_dump_all_banks(struct device *dev);
517void ab8500_debug_register_interrupt(int line);
518#else
519static inline void ab8500_dump_all_banks(struct device *dev) {}
520static inline void ab8500_debug_register_interrupt(int line) {}
521#endif
522
511#endif /* MFD_AB8500_H */ 523#endif /* MFD_AB8500_H */
diff --git a/include/linux/mfd/arizona/pdata.h b/include/linux/mfd/arizona/pdata.h
index 96d64f2b8d78..455c51d22d6b 100644
--- a/include/linux/mfd/arizona/pdata.h
+++ b/include/linux/mfd/arizona/pdata.h
@@ -56,6 +56,8 @@
56#define ARIZONA_DMIC_MICBIAS2 2 56#define ARIZONA_DMIC_MICBIAS2 2
57#define ARIZONA_DMIC_MICBIAS3 3 57#define ARIZONA_DMIC_MICBIAS3 3
58 58
59#define ARIZONA_MAX_MICBIAS 3
60
59#define ARIZONA_INMODE_DIFF 0 61#define ARIZONA_INMODE_DIFF 0
60#define ARIZONA_INMODE_SE 1 62#define ARIZONA_INMODE_SE 1
61#define ARIZONA_INMODE_DMIC 2 63#define ARIZONA_INMODE_DMIC 2
@@ -71,6 +73,13 @@
71 73
72struct regulator_init_data; 74struct regulator_init_data;
73 75
76struct arizona_micbias {
77 int mV; /** Regulated voltage */
78 unsigned int ext_cap:1; /** External capacitor fitted */
79 unsigned int discharge:1; /** Actively discharge */
80 unsigned int fast_start:1; /** Enable aggressive startup ramp rate */
81};
82
74struct arizona_micd_config { 83struct arizona_micd_config {
75 unsigned int src; 84 unsigned int src;
76 unsigned int bias; 85 unsigned int bias;
@@ -136,6 +145,9 @@ struct arizona_pdata {
136 /** Reference voltage for DMIC inputs */ 145 /** Reference voltage for DMIC inputs */
137 int dmic_ref[ARIZONA_MAX_INPUT]; 146 int dmic_ref[ARIZONA_MAX_INPUT];
138 147
148 /** MICBIAS configurations */
149 struct arizona_micbias micbias[ARIZONA_MAX_MICBIAS];
150
139 /** Mode of input structures */ 151 /** Mode of input structures */
140 int inmode[ARIZONA_MAX_INPUT]; 152 int inmode[ARIZONA_MAX_INPUT];
141 153
diff --git a/include/linux/mfd/arizona/registers.h b/include/linux/mfd/arizona/registers.h
index 188d89abd963..340355136069 100644
--- a/include/linux/mfd/arizona/registers.h
+++ b/include/linux/mfd/arizona/registers.h
@@ -984,18 +984,34 @@
984#define ARIZONA_DSP1_STATUS_1 0x1104 984#define ARIZONA_DSP1_STATUS_1 0x1104
985#define ARIZONA_DSP1_STATUS_2 0x1105 985#define ARIZONA_DSP1_STATUS_2 0x1105
986#define ARIZONA_DSP1_STATUS_3 0x1106 986#define ARIZONA_DSP1_STATUS_3 0x1106
987#define ARIZONA_DSP1_SCRATCH_0 0x1140
988#define ARIZONA_DSP1_SCRATCH_1 0x1141
989#define ARIZONA_DSP1_SCRATCH_2 0x1142
990#define ARIZONA_DSP1_SCRATCH_3 0x1143
987#define ARIZONA_DSP2_CONTROL_1 0x1200 991#define ARIZONA_DSP2_CONTROL_1 0x1200
988#define ARIZONA_DSP2_CLOCKING_1 0x1201 992#define ARIZONA_DSP2_CLOCKING_1 0x1201
989#define ARIZONA_DSP2_STATUS_1 0x1204 993#define ARIZONA_DSP2_STATUS_1 0x1204
990#define ARIZONA_DSP2_STATUS_2 0x1205 994#define ARIZONA_DSP2_STATUS_2 0x1205
995#define ARIZONA_DSP2_SCRATCH_0 0x1240
996#define ARIZONA_DSP2_SCRATCH_1 0x1241
997#define ARIZONA_DSP2_SCRATCH_2 0x1242
998#define ARIZONA_DSP2_SCRATCH_3 0x1243
991#define ARIZONA_DSP3_CONTROL_1 0x1300 999#define ARIZONA_DSP3_CONTROL_1 0x1300
992#define ARIZONA_DSP3_CLOCKING_1 0x1301 1000#define ARIZONA_DSP3_CLOCKING_1 0x1301
993#define ARIZONA_DSP3_STATUS_1 0x1304 1001#define ARIZONA_DSP3_STATUS_1 0x1304
994#define ARIZONA_DSP3_STATUS_2 0x1305 1002#define ARIZONA_DSP3_STATUS_2 0x1305
1003#define ARIZONA_DSP3_SCRATCH_0 0x1340
1004#define ARIZONA_DSP3_SCRATCH_1 0x1341
1005#define ARIZONA_DSP3_SCRATCH_2 0x1342
1006#define ARIZONA_DSP3_SCRATCH_3 0x1343
995#define ARIZONA_DSP4_CONTROL_1 0x1400 1007#define ARIZONA_DSP4_CONTROL_1 0x1400
996#define ARIZONA_DSP4_CLOCKING_1 0x1401 1008#define ARIZONA_DSP4_CLOCKING_1 0x1401
997#define ARIZONA_DSP4_STATUS_1 0x1404 1009#define ARIZONA_DSP4_STATUS_1 0x1404
998#define ARIZONA_DSP4_STATUS_2 0x1405 1010#define ARIZONA_DSP4_STATUS_2 0x1405
1011#define ARIZONA_DSP4_SCRATCH_0 0x1440
1012#define ARIZONA_DSP4_SCRATCH_1 0x1441
1013#define ARIZONA_DSP4_SCRATCH_2 0x1442
1014#define ARIZONA_DSP4_SCRATCH_3 0x1443
999 1015
1000/* 1016/*
1001 * Field Definitions. 1017 * Field Definitions.
diff --git a/include/linux/mfd/dbx500-prcmu.h b/include/linux/mfd/dbx500-prcmu.h
index f8bac7cfc25f..3abcca91eecd 100644
--- a/include/linux/mfd/dbx500-prcmu.h
+++ b/include/linux/mfd/dbx500-prcmu.h
@@ -151,6 +151,18 @@ enum prcmu_clock {
151}; 151};
152 152
153/** 153/**
154 * enum prcmu_wdog_id - PRCMU watchdog IDs
155 * @PRCMU_WDOG_ALL: use all timers
156 * @PRCMU_WDOG_CPU1: use first CPU timer only
157 * @PRCMU_WDOG_CPU2: use second CPU timer conly
158 */
159enum prcmu_wdog_id {
160 PRCMU_WDOG_ALL = 0x00,
161 PRCMU_WDOG_CPU1 = 0x01,
162 PRCMU_WDOG_CPU2 = 0x02,
163};
164
165/**
154 * enum ape_opp - APE OPP states definition 166 * enum ape_opp - APE OPP states definition
155 * @APE_OPP_INIT: 167 * @APE_OPP_INIT:
156 * @APE_NO_CHANGE: The APE operating point is unchanged 168 * @APE_NO_CHANGE: The APE operating point is unchanged
diff --git a/include/linux/mfd/max8925.h b/include/linux/mfd/max8925.h
index 74d8e2969630..ce8502e9e7dc 100644
--- a/include/linux/mfd/max8925.h
+++ b/include/linux/mfd/max8925.h
@@ -190,6 +190,8 @@ enum {
190 MAX8925_NR_IRQS, 190 MAX8925_NR_IRQS,
191}; 191};
192 192
193
194
193struct max8925_chip { 195struct max8925_chip {
194 struct device *dev; 196 struct device *dev;
195 struct i2c_client *i2c; 197 struct i2c_client *i2c;
@@ -201,7 +203,6 @@ struct max8925_chip {
201 int irq_base; 203 int irq_base;
202 int core_irq; 204 int core_irq;
203 int tsc_irq; 205 int tsc_irq;
204
205 unsigned int wakeup_flag; 206 unsigned int wakeup_flag;
206}; 207};
207 208
diff --git a/include/linux/mfd/palmas.h b/include/linux/mfd/palmas.h
index 29f6616e12f0..a4d13d7cd001 100644
--- a/include/linux/mfd/palmas.h
+++ b/include/linux/mfd/palmas.h
@@ -2789,4 +2789,56 @@ enum usb_irq_events {
2789#define PALMAS_GPADC_TRIM15 0xE 2789#define PALMAS_GPADC_TRIM15 0xE
2790#define PALMAS_GPADC_TRIM16 0xF 2790#define PALMAS_GPADC_TRIM16 0xF
2791 2791
2792static inline int palmas_read(struct palmas *palmas, unsigned int base,
2793 unsigned int reg, unsigned int *val)
2794{
2795 unsigned int addr = PALMAS_BASE_TO_REG(base, reg);
2796 int slave_id = PALMAS_BASE_TO_SLAVE(base);
2797
2798 return regmap_read(palmas->regmap[slave_id], addr, val);
2799}
2800
2801static inline int palmas_write(struct palmas *palmas, unsigned int base,
2802 unsigned int reg, unsigned int value)
2803{
2804 unsigned int addr = PALMAS_BASE_TO_REG(base, reg);
2805 int slave_id = PALMAS_BASE_TO_SLAVE(base);
2806
2807 return regmap_write(palmas->regmap[slave_id], addr, value);
2808}
2809
2810static inline int palmas_bulk_write(struct palmas *palmas, unsigned int base,
2811 unsigned int reg, const void *val, size_t val_count)
2812{
2813 unsigned int addr = PALMAS_BASE_TO_REG(base, reg);
2814 int slave_id = PALMAS_BASE_TO_SLAVE(base);
2815
2816 return regmap_bulk_write(palmas->regmap[slave_id], addr,
2817 val, val_count);
2818}
2819
2820static inline int palmas_bulk_read(struct palmas *palmas, unsigned int base,
2821 unsigned int reg, void *val, size_t val_count)
2822{
2823 unsigned int addr = PALMAS_BASE_TO_REG(base, reg);
2824 int slave_id = PALMAS_BASE_TO_SLAVE(base);
2825
2826 return regmap_bulk_read(palmas->regmap[slave_id], addr,
2827 val, val_count);
2828}
2829
2830static inline int palmas_update_bits(struct palmas *palmas, unsigned int base,
2831 unsigned int reg, unsigned int mask, unsigned int val)
2832{
2833 unsigned int addr = PALMAS_BASE_TO_REG(base, reg);
2834 int slave_id = PALMAS_BASE_TO_SLAVE(base);
2835
2836 return regmap_update_bits(palmas->regmap[slave_id], addr, mask, val);
2837}
2838
2839static inline int palmas_irq_get_virq(struct palmas *palmas, int irq)
2840{
2841 return regmap_irq_get_virq(palmas->irq_data, irq);
2842}
2843
2792#endif /* __LINUX_MFD_PALMAS_H */ 2844#endif /* __LINUX_MFD_PALMAS_H */
diff --git a/include/linux/mfd/rtsx_pci.h b/include/linux/mfd/rtsx_pci.h
index 4b117a3f54d4..26ea7f1b7caf 100644
--- a/include/linux/mfd/rtsx_pci.h
+++ b/include/linux/mfd/rtsx_pci.h
@@ -465,7 +465,7 @@
465#define SD_RSP_TYPE_R6 0x01 465#define SD_RSP_TYPE_R6 0x01
466#define SD_RSP_TYPE_R7 0x01 466#define SD_RSP_TYPE_R7 0x01
467 467
468/* SD_CONFIURE3 */ 468/* SD_CONFIGURE3 */
469#define SD_RSP_80CLK_TIMEOUT_EN 0x01 469#define SD_RSP_80CLK_TIMEOUT_EN 0x01
470 470
471/* Card Transfer Reset Register */ 471/* Card Transfer Reset Register */
@@ -581,8 +581,11 @@
581#define CARD_GPIO_DIR 0xFD57 581#define CARD_GPIO_DIR 0xFD57
582#define CARD_GPIO 0xFD58 582#define CARD_GPIO 0xFD58
583#define CARD_DATA_SOURCE 0xFD5B 583#define CARD_DATA_SOURCE 0xFD5B
584#define SD30_CLK_DRIVE_SEL 0xFD5A
584#define CARD_SELECT 0xFD5C 585#define CARD_SELECT 0xFD5C
585#define SD30_DRIVE_SEL 0xFD5E 586#define SD30_DRIVE_SEL 0xFD5E
587#define SD30_CMD_DRIVE_SEL 0xFD5E
588#define SD30_DAT_DRIVE_SEL 0xFD5F
586#define CARD_CLK_EN 0xFD69 589#define CARD_CLK_EN 0xFD69
587#define SDIO_CTRL 0xFD6B 590#define SDIO_CTRL 0xFD6B
588#define CD_PAD_CTL 0xFD73 591#define CD_PAD_CTL 0xFD73
@@ -655,6 +658,8 @@
655#define MSGTXDATA3 0xFE47 658#define MSGTXDATA3 0xFE47
656#define MSGTXCTL 0xFE48 659#define MSGTXCTL 0xFE48
657#define PETXCFG 0xFE49 660#define PETXCFG 0xFE49
661#define LTR_CTL 0xFE4A
662#define OBFF_CFG 0xFE4C
658 663
659#define CDRESUMECTL 0xFE52 664#define CDRESUMECTL 0xFE52
660#define WAKE_SEL_CTL 0xFE54 665#define WAKE_SEL_CTL 0xFE54
@@ -735,6 +740,7 @@ struct rtsx_pcr {
735 740
736 unsigned int card_inserted; 741 unsigned int card_inserted;
737 unsigned int card_removed; 742 unsigned int card_removed;
743 unsigned int card_exist;
738 744
739 struct delayed_work carddet_work; 745 struct delayed_work carddet_work;
740 struct delayed_work idle_work; 746 struct delayed_work idle_work;
@@ -799,6 +805,7 @@ int rtsx_pci_switch_clock(struct rtsx_pcr *pcr, unsigned int card_clock,
799 u8 ssc_depth, bool initial_mode, bool double_clk, bool vpclk); 805 u8 ssc_depth, bool initial_mode, bool double_clk, bool vpclk);
800int rtsx_pci_card_power_on(struct rtsx_pcr *pcr, int card); 806int rtsx_pci_card_power_on(struct rtsx_pcr *pcr, int card);
801int rtsx_pci_card_power_off(struct rtsx_pcr *pcr, int card); 807int rtsx_pci_card_power_off(struct rtsx_pcr *pcr, int card);
808int rtsx_pci_card_exclusive_check(struct rtsx_pcr *pcr, int card);
802int rtsx_pci_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage); 809int rtsx_pci_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage);
803unsigned int rtsx_pci_card_exist(struct rtsx_pcr *pcr); 810unsigned int rtsx_pci_card_exist(struct rtsx_pcr *pcr);
804void rtsx_pci_complete_unfinished_transfer(struct rtsx_pcr *pcr); 811void rtsx_pci_complete_unfinished_transfer(struct rtsx_pcr *pcr);
diff --git a/include/linux/platform_data/usb-omap.h b/include/linux/platform_data/usb-omap.h
index e697c85ad3bc..fa579b4c666b 100644
--- a/include/linux/platform_data/usb-omap.h
+++ b/include/linux/platform_data/usb-omap.h
@@ -55,6 +55,7 @@ struct ohci_hcd_omap_platform_data {
55}; 55};
56 56
57struct usbhs_omap_platform_data { 57struct usbhs_omap_platform_data {
58 int nports;
58 enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS]; 59 enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS];
59 int reset_gpio_port[OMAP3_HS_USB_PORTS]; 60 int reset_gpio_port[OMAP3_HS_USB_PORTS];
60 struct regulator *regulator[OMAP3_HS_USB_PORTS]; 61 struct regulator *regulator[OMAP3_HS_USB_PORTS];
diff --git a/include/linux/platform_data/ux500_wdt.h b/include/linux/platform_data/ux500_wdt.h
new file mode 100644
index 000000000000..1689ff4c3bfd
--- /dev/null
+++ b/include/linux/platform_data/ux500_wdt.h
@@ -0,0 +1,19 @@
1/*
2 * Copyright (C) ST Ericsson SA 2011
3 *
4 * License Terms: GNU General Public License v2
5 *
6 * STE Ux500 Watchdog platform data
7 */
8#ifndef __UX500_WDT_H
9#define __UX500_WDT_H
10
11/**
12 * struct ux500_wdt_data
13 */
14struct ux500_wdt_data {
15 unsigned int timeout;
16 bool has_28_bits_resolution;
17};
18
19#endif /* __UX500_WDT_H */
diff --git a/include/linux/vexpress.h b/include/linux/vexpress.h
index c52215ff4245..75818744ab59 100644
--- a/include/linux/vexpress.h
+++ b/include/linux/vexpress.h
@@ -27,6 +27,14 @@
27#define VEXPRESS_GPIO_MMC_CARDIN 0 27#define VEXPRESS_GPIO_MMC_CARDIN 0
28#define VEXPRESS_GPIO_MMC_WPROT 1 28#define VEXPRESS_GPIO_MMC_WPROT 1
29#define VEXPRESS_GPIO_FLASH_WPn 2 29#define VEXPRESS_GPIO_FLASH_WPn 2
30#define VEXPRESS_GPIO_LED0 3
31#define VEXPRESS_GPIO_LED1 4
32#define VEXPRESS_GPIO_LED2 5
33#define VEXPRESS_GPIO_LED3 6
34#define VEXPRESS_GPIO_LED4 7
35#define VEXPRESS_GPIO_LED5 8
36#define VEXPRESS_GPIO_LED6 9
37#define VEXPRESS_GPIO_LED7 10
30 38
31#define VEXPRESS_RES_FUNC(_site, _func) \ 39#define VEXPRESS_RES_FUNC(_site, _func) \
32{ \ 40{ \