aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mfd
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-04-29 19:32:25 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-04-29 19:32:25 -0400
commit8ded8d4e4facab78acf616bc34085ddd15c2c21c (patch)
tree7cb470ffbaffd4c1119d1baf4b0341f76cb4242a /include/linux/mfd
parent7b053842b95914119f132fdac294fb2591b2e9a8 (diff)
parentbee546581424b5514ec6a034fb83fd4e95b804da (diff)
Merge tag 'regulator-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
Pull regulator updates from Mark Brown: "The diffstat and changelog here is dominated by Lee Jones' heroic efforts to sync the ab8500 driver that's been maintained out of tree with mainline (plus Axel's cleanup work on the results) but there's a few other things here: - Axel Lin added regulator_map_voltage_ascend() optimising a common pattern for drivers using the core code. - Milo Kim tought the regulator core to handle regulators sharing an enable GPIO, avoiding the need to do hacks to support such systems. - Andrew Bresticker added code to handle missing supplies for regulators more sensibly for device tree systems, reducing the need for stubbing there. plus the usual batch of driver specific updates and fixes" * tag 'regulator-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (152 commits) regulator: mc13892: Fix MC13892_SWITCHERS0_SWxHI bit in set_voltage_sel regulator: Remove NULL test before calling regulator_unregister() regulator: mc13783: Add device tree probe support regulator: mc13xxx: Add warning of incorrect names of regulators regulator: max77686: Don't update max77686->opmode if update register fails regulator: max8952: Add missing config.of_node setting for regulator register regulator: ab3100: Fix regulator register error handling regulator: tps6524x: Use regulator_map_voltage_ascend regulator: lp8788-buck: Use regulator_map_voltage_ascend regulator: lp872x: Use regulator_map_voltage_ascend regulator: mc13892: Use regulator_map_voltage_ascend for mc13892_sw_regulator_ops regulator: tps65023: Use regulator_map_voltage_ascend regulator: tps65023: Merge tps65020 ldo1 and ldo2 vsel table regulator: tps6507x: Use regulator_map_voltage_ascend regulator: mc13892: Fix MC13892_SWITCHERS0_SWxHI bit in set_voltage_sel regulator: ab3100: device tree support regulator: ab3100: refactor probe to use IDs regulator: max8973: Don't override control1 variable when set ramp delay bits regulator: tps80031: Convert tps80031_dcdc_ops to [get|set]_voltage_sel_regmap regulator: tps80031: Fix LDO2 track mode for TPS80031 or TPS80032-ES1.0 ...
Diffstat (limited to 'include/linux/mfd')
-rw-r--r--include/linux/mfd/abx500/ab8500.h11
-rw-r--r--include/linux/mfd/palmas.h24
2 files changed, 13 insertions, 22 deletions
diff --git a/include/linux/mfd/abx500/ab8500.h b/include/linux/mfd/abx500/ab8500.h
index 9db0bda446a0..84f449475c25 100644
--- a/include/linux/mfd/abx500/ab8500.h
+++ b/include/linux/mfd/abx500/ab8500.h
@@ -364,8 +364,7 @@ struct ab8500 {
364 const int *irq_reg_offset; 364 const int *irq_reg_offset;
365}; 365};
366 366
367struct regulator_reg_init; 367struct ab8500_regulator_platform_data;
368struct regulator_init_data;
369struct ab8500_gpio_platform_data; 368struct ab8500_gpio_platform_data;
370struct ab8500_codec_platform_data; 369struct ab8500_codec_platform_data;
371struct ab8500_sysctrl_platform_data; 370struct ab8500_sysctrl_platform_data;
@@ -375,19 +374,13 @@ struct ab8500_sysctrl_platform_data;
375 * @irq_base: start of AB8500 IRQs, AB8500_NR_IRQS will be used 374 * @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 * @pm_power_off: Should machine pm power off hook be registered or not
377 * @init: board-specific initialization after detection of ab8500 376 * @init: board-specific initialization after detection of ab8500
378 * @num_regulator_reg_init: number of regulator init registers
379 * @regulator_reg_init: regulator init registers
380 * @num_regulator: number of regulators
381 * @regulator: machine-specific constraints for regulators 377 * @regulator: machine-specific constraints for regulators
382 */ 378 */
383struct ab8500_platform_data { 379struct ab8500_platform_data {
384 int irq_base; 380 int irq_base;
385 bool pm_power_off; 381 bool pm_power_off;
386 void (*init) (struct ab8500 *); 382 void (*init) (struct ab8500 *);
387 int num_regulator_reg_init; 383 struct ab8500_regulator_platform_data *regulator;
388 struct ab8500_regulator_reg_init *regulator_reg_init;
389 int num_regulator;
390 struct regulator_init_data *regulator;
391 struct abx500_gpio_platform_data *gpio; 384 struct abx500_gpio_platform_data *gpio;
392 struct ab8500_codec_platform_data *codec; 385 struct ab8500_codec_platform_data *codec;
393 struct ab8500_sysctrl_platform_data *sysctrl; 386 struct ab8500_sysctrl_platform_data *sysctrl;
diff --git a/include/linux/mfd/palmas.h b/include/linux/mfd/palmas.h
index 3bbda22721ea..ecddc5173c7c 100644
--- a/include/linux/mfd/palmas.h
+++ b/include/linux/mfd/palmas.h
@@ -109,19 +109,6 @@ struct palmas_reg_init {
109 */ 109 */
110 int mode_sleep; 110 int mode_sleep;
111 111
112 /* tstep is the timestep loaded to the TSTEP register
113 *
114 * For SMPS
115 *
116 * 0: Jump (no slope control)
117 * 1: 10mV/us
118 * 2: 5mV/us
119 * 3: 2.5mV/us
120 *
121 * For LDO unused
122 */
123 int tstep;
124
125 /* voltage_sel is the bitfield loaded onto the SMPSX_VOLTAGE 112 /* voltage_sel is the bitfield loaded onto the SMPSX_VOLTAGE
126 * register. Set this is the default voltage set in OTP needs 113 * register. Set this is the default voltage set in OTP needs
127 * to be overridden. 114 * to be overridden.
@@ -154,6 +141,12 @@ enum palmas_regulators {
154 PALMAS_REG_LDO9, 141 PALMAS_REG_LDO9,
155 PALMAS_REG_LDOLN, 142 PALMAS_REG_LDOLN,
156 PALMAS_REG_LDOUSB, 143 PALMAS_REG_LDOUSB,
144 /* External regulators */
145 PALMAS_REG_REGEN1,
146 PALMAS_REG_REGEN2,
147 PALMAS_REG_REGEN3,
148 PALMAS_REG_SYSEN1,
149 PALMAS_REG_SYSEN2,
157 /* Total number of regulators */ 150 /* Total number of regulators */
158 PALMAS_NUM_REGS, 151 PALMAS_NUM_REGS,
159}; 152};
@@ -171,6 +164,9 @@ struct palmas_pmic_platform_data {
171 164
172 /* use LDO6 for vibrator control */ 165 /* use LDO6 for vibrator control */
173 int ldo6_vibrator; 166 int ldo6_vibrator;
167
168 /* Enable tracking mode of LDO8 */
169 bool enable_ldo8_tracking;
174}; 170};
175 171
176struct palmas_usb_platform_data { 172struct palmas_usb_platform_data {
@@ -331,6 +327,8 @@ struct palmas_pmic {
331 int smps457; 327 int smps457;
332 328
333 int range[PALMAS_REG_SMPS10]; 329 int range[PALMAS_REG_SMPS10];
330 unsigned int ramp_delay[PALMAS_REG_SMPS10];
331 unsigned int current_reg_mode[PALMAS_REG_SMPS10];
334}; 332};
335 333
336struct palmas_resource { 334struct palmas_resource {