diff options
| author | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2013-05-15 10:26:50 -0400 |
|---|---|---|
| committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2013-05-15 10:26:50 -0400 |
| commit | 12e04ffcd93b25dfd726d46338c2ee7d23de556e (patch) | |
| tree | f91479a62805619168994fd3ee55e3ffa23fc24e /include/linux/regulator | |
| parent | 9eff37a8713939f218ab8bf0dc93f1d67af7b8b4 (diff) | |
| parent | f722406faae2d073cc1d01063d1123c35425939e (diff) | |
Merge tag 'v3.10-rc1' into stable/for-linus-3.10
Linux 3.10-rc1
* tag 'v3.10-rc1': (12273 commits)
Linux 3.10-rc1
[SCSI] qla2xxx: Update firmware link in Kconfig file.
[SCSI] iscsi class, qla4xxx: fix sess/conn refcounting when find fns are used
[SCSI] sas: unify the pointlessly separated enums sas_dev_type and sas_device_type
[SCSI] pm80xx: thermal, sas controller config and error handling update
[SCSI] pm80xx: NCQ error handling changes
[SCSI] pm80xx: WWN Modification for PM8081/88/89 controllers
[SCSI] pm80xx: Changed module name and debug messages update
[SCSI] pm80xx: Firmware flash memory free fix, with addition of new memory region for it
[SCSI] pm80xx: SPC new firmware changes for device id 0x8081 alone
[SCSI] pm80xx: Added SPCv/ve specific hardware functionalities and relevant changes in common files
[SCSI] pm80xx: MSI-X implementation for using 64 interrupts
[SCSI] pm80xx: Updated common functions common for SPC and SPCv/ve
[SCSI] pm80xx: Multiple inbound/outbound queue configuration
[SCSI] pm80xx: Added SPCv/ve specific ids, variables and modify for SPC
[SCSI] lpfc: fix up Kconfig dependencies
[SCSI] Handle MLQUEUE busy response in scsi_send_eh_cmnd
dm cache: set config value
dm cache: move config fns
dm thin: generate event when metadata threshold passed
...
Diffstat (limited to 'include/linux/regulator')
| -rw-r--r-- | include/linux/regulator/ab8500.h | 217 | ||||
| -rw-r--r-- | include/linux/regulator/consumer.h | 14 | ||||
| -rw-r--r-- | include/linux/regulator/driver.h | 9 | ||||
| -rw-r--r-- | include/linux/regulator/max8952.h | 10 |
4 files changed, 228 insertions, 22 deletions
diff --git a/include/linux/regulator/ab8500.h b/include/linux/regulator/ab8500.h index 7bd73bbdfd1b..7c5ff0c55773 100644 --- a/include/linux/regulator/ab8500.h +++ b/include/linux/regulator/ab8500.h | |||
| @@ -5,11 +5,14 @@ | |||
| 5 | * | 5 | * |
| 6 | * Authors: Sundar Iyer <sundar.iyer@stericsson.com> for ST-Ericsson | 6 | * Authors: Sundar Iyer <sundar.iyer@stericsson.com> for ST-Ericsson |
| 7 | * Bengt Jonsson <bengt.g.jonsson@stericsson.com> for ST-Ericsson | 7 | * Bengt Jonsson <bengt.g.jonsson@stericsson.com> for ST-Ericsson |
| 8 | * Daniel Willerud <daniel.willerud@stericsson.com> for ST-Ericsson | ||
| 8 | */ | 9 | */ |
| 9 | 10 | ||
| 10 | #ifndef __LINUX_MFD_AB8500_REGULATOR_H | 11 | #ifndef __LINUX_MFD_AB8500_REGULATOR_H |
| 11 | #define __LINUX_MFD_AB8500_REGULATOR_H | 12 | #define __LINUX_MFD_AB8500_REGULATOR_H |
| 12 | 13 | ||
| 14 | #include <linux/platform_device.h> | ||
| 15 | |||
| 13 | /* AB8500 regulators */ | 16 | /* AB8500 regulators */ |
| 14 | enum ab8500_regulator_id { | 17 | enum ab8500_regulator_id { |
| 15 | AB8500_LDO_AUX1, | 18 | AB8500_LDO_AUX1, |
| @@ -17,7 +20,6 @@ enum ab8500_regulator_id { | |||
| 17 | AB8500_LDO_AUX3, | 20 | AB8500_LDO_AUX3, |
| 18 | AB8500_LDO_INTCORE, | 21 | AB8500_LDO_INTCORE, |
| 19 | AB8500_LDO_TVOUT, | 22 | AB8500_LDO_TVOUT, |
| 20 | AB8500_LDO_USB, | ||
| 21 | AB8500_LDO_AUDIO, | 23 | AB8500_LDO_AUDIO, |
| 22 | AB8500_LDO_ANAMIC1, | 24 | AB8500_LDO_ANAMIC1, |
| 23 | AB8500_LDO_ANAMIC2, | 25 | AB8500_LDO_ANAMIC2, |
| @@ -26,7 +28,28 @@ enum ab8500_regulator_id { | |||
| 26 | AB8500_NUM_REGULATORS, | 28 | AB8500_NUM_REGULATORS, |
| 27 | }; | 29 | }; |
| 28 | 30 | ||
| 29 | /* AB9450 regulators */ | 31 | /* AB8505 regulators */ |
| 32 | enum ab8505_regulator_id { | ||
| 33 | AB8505_LDO_AUX1, | ||
| 34 | AB8505_LDO_AUX2, | ||
| 35 | AB8505_LDO_AUX3, | ||
| 36 | AB8505_LDO_AUX4, | ||
| 37 | AB8505_LDO_AUX5, | ||
| 38 | AB8505_LDO_AUX6, | ||
| 39 | AB8505_LDO_INTCORE, | ||
| 40 | AB8505_LDO_ADC, | ||
| 41 | AB8505_LDO_USB, | ||
| 42 | AB8505_LDO_AUDIO, | ||
| 43 | AB8505_LDO_ANAMIC1, | ||
| 44 | AB8505_LDO_ANAMIC2, | ||
| 45 | AB8505_LDO_AUX8, | ||
| 46 | AB8505_LDO_ANA, | ||
| 47 | AB8505_SYSCLKREQ_2, | ||
| 48 | AB8505_SYSCLKREQ_4, | ||
| 49 | AB8505_NUM_REGULATORS, | ||
| 50 | }; | ||
| 51 | |||
| 52 | /* AB9540 regulators */ | ||
| 30 | enum ab9540_regulator_id { | 53 | enum ab9540_regulator_id { |
| 31 | AB9540_LDO_AUX1, | 54 | AB9540_LDO_AUX1, |
| 32 | AB9540_LDO_AUX2, | 55 | AB9540_LDO_AUX2, |
| @@ -45,16 +68,39 @@ enum ab9540_regulator_id { | |||
| 45 | AB9540_NUM_REGULATORS, | 68 | AB9540_NUM_REGULATORS, |
| 46 | }; | 69 | }; |
| 47 | 70 | ||
| 48 | /* AB8500 and AB9540 register initialization */ | 71 | /* AB8540 regulators */ |
| 72 | enum ab8540_regulator_id { | ||
| 73 | AB8540_LDO_AUX1, | ||
| 74 | AB8540_LDO_AUX2, | ||
| 75 | AB8540_LDO_AUX3, | ||
| 76 | AB8540_LDO_AUX4, | ||
| 77 | AB8540_LDO_AUX5, | ||
| 78 | AB8540_LDO_AUX6, | ||
| 79 | AB8540_LDO_INTCORE, | ||
| 80 | AB8540_LDO_TVOUT, | ||
| 81 | AB8540_LDO_AUDIO, | ||
| 82 | AB8540_LDO_ANAMIC1, | ||
| 83 | AB8540_LDO_ANAMIC2, | ||
| 84 | AB8540_LDO_DMIC, | ||
| 85 | AB8540_LDO_ANA, | ||
| 86 | AB8540_LDO_SDIO, | ||
| 87 | AB8540_SYSCLKREQ_2, | ||
| 88 | AB8540_SYSCLKREQ_4, | ||
| 89 | AB8540_NUM_REGULATORS, | ||
| 90 | }; | ||
| 91 | |||
| 92 | /* AB8500, AB8505, and AB9540 register initialization */ | ||
| 49 | struct ab8500_regulator_reg_init { | 93 | struct ab8500_regulator_reg_init { |
| 50 | int id; | 94 | int id; |
| 95 | u8 mask; | ||
| 51 | u8 value; | 96 | u8 value; |
| 52 | }; | 97 | }; |
| 53 | 98 | ||
| 54 | #define INIT_REGULATOR_REGISTER(_id, _value) \ | 99 | #define INIT_REGULATOR_REGISTER(_id, _mask, _value) \ |
| 55 | { \ | 100 | { \ |
| 56 | .id = _id, \ | 101 | .id = _id, \ |
| 57 | .value = _value, \ | 102 | .mask = _mask, \ |
| 103 | .value = _value, \ | ||
| 58 | } | 104 | } |
| 59 | 105 | ||
| 60 | /* AB8500 registers */ | 106 | /* AB8500 registers */ |
| @@ -86,10 +132,58 @@ enum ab8500_regulator_reg { | |||
| 86 | AB8500_REGUCTRL2SPARE, | 132 | AB8500_REGUCTRL2SPARE, |
| 87 | AB8500_REGUCTRLDISCH, | 133 | AB8500_REGUCTRLDISCH, |
| 88 | AB8500_REGUCTRLDISCH2, | 134 | AB8500_REGUCTRLDISCH2, |
| 89 | AB8500_VSMPS1SEL1, | ||
| 90 | AB8500_NUM_REGULATOR_REGISTERS, | 135 | AB8500_NUM_REGULATOR_REGISTERS, |
| 91 | }; | 136 | }; |
| 92 | 137 | ||
| 138 | /* AB8505 registers */ | ||
| 139 | enum ab8505_regulator_reg { | ||
| 140 | AB8505_REGUREQUESTCTRL1, | ||
| 141 | AB8505_REGUREQUESTCTRL2, | ||
| 142 | AB8505_REGUREQUESTCTRL3, | ||
| 143 | AB8505_REGUREQUESTCTRL4, | ||
| 144 | AB8505_REGUSYSCLKREQ1HPVALID1, | ||
| 145 | AB8505_REGUSYSCLKREQ1HPVALID2, | ||
| 146 | AB8505_REGUHWHPREQ1VALID1, | ||
| 147 | AB8505_REGUHWHPREQ1VALID2, | ||
| 148 | AB8505_REGUHWHPREQ2VALID1, | ||
| 149 | AB8505_REGUHWHPREQ2VALID2, | ||
| 150 | AB8505_REGUSWHPREQVALID1, | ||
| 151 | AB8505_REGUSWHPREQVALID2, | ||
| 152 | AB8505_REGUSYSCLKREQVALID1, | ||
| 153 | AB8505_REGUSYSCLKREQVALID2, | ||
| 154 | AB8505_REGUVAUX4REQVALID, | ||
| 155 | AB8505_REGUMISC1, | ||
| 156 | AB8505_VAUDIOSUPPLY, | ||
| 157 | AB8505_REGUCTRL1VAMIC, | ||
| 158 | AB8505_VSMPSAREGU, | ||
| 159 | AB8505_VSMPSBREGU, | ||
| 160 | AB8505_VSAFEREGU, /* NOTE! PRCMU register */ | ||
| 161 | AB8505_VPLLVANAREGU, | ||
| 162 | AB8505_EXTSUPPLYREGU, | ||
| 163 | AB8505_VAUX12REGU, | ||
| 164 | AB8505_VRF1VAUX3REGU, | ||
| 165 | AB8505_VSMPSASEL1, | ||
| 166 | AB8505_VSMPSASEL2, | ||
| 167 | AB8505_VSMPSASEL3, | ||
| 168 | AB8505_VSMPSBSEL1, | ||
| 169 | AB8505_VSMPSBSEL2, | ||
| 170 | AB8505_VSMPSBSEL3, | ||
| 171 | AB8505_VSAFESEL1, /* NOTE! PRCMU register */ | ||
| 172 | AB8505_VSAFESEL2, /* NOTE! PRCMU register */ | ||
| 173 | AB8505_VSAFESEL3, /* NOTE! PRCMU register */ | ||
| 174 | AB8505_VAUX1SEL, | ||
| 175 | AB8505_VAUX2SEL, | ||
| 176 | AB8505_VRF1VAUX3SEL, | ||
| 177 | AB8505_VAUX4REQCTRL, | ||
| 178 | AB8505_VAUX4REGU, | ||
| 179 | AB8505_VAUX4SEL, | ||
| 180 | AB8505_REGUCTRLDISCH, | ||
| 181 | AB8505_REGUCTRLDISCH2, | ||
| 182 | AB8505_REGUCTRLDISCH3, | ||
| 183 | AB8505_CTRLVAUX5, | ||
| 184 | AB8505_CTRLVAUX6, | ||
| 185 | AB8505_NUM_REGULATOR_REGISTERS, | ||
| 186 | }; | ||
| 93 | 187 | ||
| 94 | /* AB9540 registers */ | 188 | /* AB9540 registers */ |
| 95 | enum ab9540_regulator_reg { | 189 | enum ab9540_regulator_reg { |
| @@ -139,4 +233,111 @@ enum ab9540_regulator_reg { | |||
| 139 | AB9540_NUM_REGULATOR_REGISTERS, | 233 | AB9540_NUM_REGULATOR_REGISTERS, |
| 140 | }; | 234 | }; |
| 141 | 235 | ||
| 236 | /* AB8540 registers */ | ||
| 237 | enum ab8540_regulator_reg { | ||
| 238 | AB8540_REGUREQUESTCTRL1, | ||
| 239 | AB8540_REGUREQUESTCTRL2, | ||
| 240 | AB8540_REGUREQUESTCTRL3, | ||
| 241 | AB8540_REGUREQUESTCTRL4, | ||
| 242 | AB8540_REGUSYSCLKREQ1HPVALID1, | ||
| 243 | AB8540_REGUSYSCLKREQ1HPVALID2, | ||
| 244 | AB8540_REGUHWHPREQ1VALID1, | ||
| 245 | AB8540_REGUHWHPREQ1VALID2, | ||
| 246 | AB8540_REGUHWHPREQ2VALID1, | ||
| 247 | AB8540_REGUHWHPREQ2VALID2, | ||
| 248 | AB8540_REGUSWHPREQVALID1, | ||
| 249 | AB8540_REGUSWHPREQVALID2, | ||
| 250 | AB8540_REGUSYSCLKREQVALID1, | ||
| 251 | AB8540_REGUSYSCLKREQVALID2, | ||
| 252 | AB8540_REGUVAUX4REQVALID, | ||
| 253 | AB8540_REGUVAUX5REQVALID, | ||
| 254 | AB8540_REGUVAUX6REQVALID, | ||
| 255 | AB8540_REGUVCLKBREQVALID, | ||
| 256 | AB8540_REGUVRF1REQVALID, | ||
| 257 | AB8540_REGUMISC1, | ||
| 258 | AB8540_VAUDIOSUPPLY, | ||
| 259 | AB8540_REGUCTRL1VAMIC, | ||
| 260 | AB8540_VHSIC, | ||
| 261 | AB8540_VSDIO, | ||
| 262 | AB8540_VSMPS1REGU, | ||
| 263 | AB8540_VSMPS2REGU, | ||
| 264 | AB8540_VSMPS3REGU, | ||
| 265 | AB8540_VPLLVANAREGU, | ||
| 266 | AB8540_EXTSUPPLYREGU, | ||
| 267 | AB8540_VAUX12REGU, | ||
| 268 | AB8540_VRF1VAUX3REGU, | ||
| 269 | AB8540_VSMPS1SEL1, | ||
| 270 | AB8540_VSMPS1SEL2, | ||
| 271 | AB8540_VSMPS1SEL3, | ||
| 272 | AB8540_VSMPS2SEL1, | ||
| 273 | AB8540_VSMPS2SEL2, | ||
| 274 | AB8540_VSMPS2SEL3, | ||
| 275 | AB8540_VSMPS3SEL1, | ||
| 276 | AB8540_VSMPS3SEL2, | ||
| 277 | AB8540_VAUX1SEL, | ||
| 278 | AB8540_VAUX2SEL, | ||
| 279 | AB8540_VRF1VAUX3SEL, | ||
| 280 | AB8540_REGUCTRL2SPARE, | ||
| 281 | AB8540_VAUX4REQCTRL, | ||
| 282 | AB8540_VAUX4REGU, | ||
| 283 | AB8540_VAUX4SEL, | ||
| 284 | AB8540_VAUX5REQCTRL, | ||
| 285 | AB8540_VAUX5REGU, | ||
| 286 | AB8540_VAUX5SEL, | ||
| 287 | AB8540_VAUX6REQCTRL, | ||
| 288 | AB8540_VAUX6REGU, | ||
| 289 | AB8540_VAUX6SEL, | ||
| 290 | AB8540_VCLKBREQCTRL, | ||
| 291 | AB8540_VCLKBREGU, | ||
| 292 | AB8540_VCLKBSEL, | ||
| 293 | AB8540_VRF1REQCTRL, | ||
| 294 | AB8540_REGUCTRLDISCH, | ||
| 295 | AB8540_REGUCTRLDISCH2, | ||
| 296 | AB8540_REGUCTRLDISCH3, | ||
| 297 | AB8540_REGUCTRLDISCH4, | ||
| 298 | AB8540_VSIMSYSCLKCTRL, | ||
| 299 | AB8540_VANAVPLLSEL, | ||
| 300 | AB8540_NUM_REGULATOR_REGISTERS, | ||
| 301 | }; | ||
| 302 | |||
| 303 | /* AB8500 external regulators */ | ||
| 304 | struct ab8500_ext_regulator_cfg { | ||
| 305 | bool hwreq; /* requires hw mode or high power mode */ | ||
| 306 | }; | ||
| 307 | |||
| 308 | enum ab8500_ext_regulator_id { | ||
| 309 | AB8500_EXT_SUPPLY1, | ||
| 310 | AB8500_EXT_SUPPLY2, | ||
| 311 | AB8500_EXT_SUPPLY3, | ||
| 312 | AB8500_NUM_EXT_REGULATORS, | ||
| 313 | }; | ||
| 314 | |||
| 315 | /* AB8500 regulator platform data */ | ||
| 316 | struct ab8500_regulator_platform_data { | ||
| 317 | int num_reg_init; | ||
| 318 | struct ab8500_regulator_reg_init *reg_init; | ||
| 319 | int num_regulator; | ||
| 320 | struct regulator_init_data *regulator; | ||
| 321 | int num_ext_regulator; | ||
| 322 | struct regulator_init_data *ext_regulator; | ||
| 323 | }; | ||
| 324 | |||
| 325 | #ifdef CONFIG_REGULATOR_AB8500_DEBUG | ||
| 326 | int ab8500_regulator_debug_init(struct platform_device *pdev); | ||
| 327 | int ab8500_regulator_debug_exit(struct platform_device *pdev); | ||
| 328 | #else | ||
| 329 | static inline int ab8500_regulator_debug_init(struct platform_device *pdev) | ||
| 330 | { | ||
| 331 | return 0; | ||
| 332 | } | ||
| 333 | static inline int ab8500_regulator_debug_exit(struct platform_device *pdev) | ||
| 334 | { | ||
| 335 | return 0; | ||
| 336 | } | ||
| 337 | #endif | ||
| 338 | |||
| 339 | /* AB8500 external regulator functions. */ | ||
| 340 | int ab8500_ext_regulator_init(struct platform_device *pdev); | ||
| 341 | void ab8500_ext_regulator_exit(struct platform_device *pdev); | ||
| 342 | |||
| 142 | #endif | 343 | #endif |
diff --git a/include/linux/regulator/consumer.h b/include/linux/regulator/consumer.h index 7bc732ce6e50..145022a83085 100644 --- a/include/linux/regulator/consumer.h +++ b/include/linux/regulator/consumer.h | |||
| @@ -141,18 +141,18 @@ void regulator_put(struct regulator *regulator); | |||
| 141 | void devm_regulator_put(struct regulator *regulator); | 141 | void devm_regulator_put(struct regulator *regulator); |
| 142 | 142 | ||
| 143 | /* regulator output control and status */ | 143 | /* regulator output control and status */ |
| 144 | int regulator_enable(struct regulator *regulator); | 144 | int __must_check regulator_enable(struct regulator *regulator); |
| 145 | int regulator_disable(struct regulator *regulator); | 145 | int regulator_disable(struct regulator *regulator); |
| 146 | int regulator_force_disable(struct regulator *regulator); | 146 | int regulator_force_disable(struct regulator *regulator); |
| 147 | int regulator_is_enabled(struct regulator *regulator); | 147 | int regulator_is_enabled(struct regulator *regulator); |
| 148 | int regulator_disable_deferred(struct regulator *regulator, int ms); | 148 | int regulator_disable_deferred(struct regulator *regulator, int ms); |
| 149 | 149 | ||
| 150 | int regulator_bulk_get(struct device *dev, int num_consumers, | 150 | int __must_check regulator_bulk_get(struct device *dev, int num_consumers, |
| 151 | struct regulator_bulk_data *consumers); | 151 | struct regulator_bulk_data *consumers); |
| 152 | int devm_regulator_bulk_get(struct device *dev, int num_consumers, | 152 | int __must_check devm_regulator_bulk_get(struct device *dev, int num_consumers, |
| 153 | struct regulator_bulk_data *consumers); | 153 | struct regulator_bulk_data *consumers); |
| 154 | int regulator_bulk_enable(int num_consumers, | 154 | int __must_check regulator_bulk_enable(int num_consumers, |
| 155 | struct regulator_bulk_data *consumers); | 155 | struct regulator_bulk_data *consumers); |
| 156 | int regulator_bulk_disable(int num_consumers, | 156 | int regulator_bulk_disable(int num_consumers, |
| 157 | struct regulator_bulk_data *consumers); | 157 | struct regulator_bulk_data *consumers); |
| 158 | int regulator_bulk_force_disable(int num_consumers, | 158 | int regulator_bulk_force_disable(int num_consumers, |
diff --git a/include/linux/regulator/driver.h b/include/linux/regulator/driver.h index 7df93f52db08..6700cc94bdd1 100644 --- a/include/linux/regulator/driver.h +++ b/include/linux/regulator/driver.h | |||
| @@ -22,6 +22,7 @@ | |||
| 22 | struct regmap; | 22 | struct regmap; |
| 23 | struct regulator_dev; | 23 | struct regulator_dev; |
| 24 | struct regulator_init_data; | 24 | struct regulator_init_data; |
| 25 | struct regulator_enable_gpio; | ||
| 25 | 26 | ||
| 26 | enum regulator_status { | 27 | enum regulator_status { |
| 27 | REGULATOR_STATUS_OFF, | 28 | REGULATOR_STATUS_OFF, |
| @@ -199,6 +200,8 @@ enum regulator_type { | |||
| 199 | * output when using regulator_set_voltage_sel_regmap | 200 | * output when using regulator_set_voltage_sel_regmap |
| 200 | * @enable_reg: Register for control when using regmap enable/disable ops | 201 | * @enable_reg: Register for control when using regmap enable/disable ops |
| 201 | * @enable_mask: Mask for control when using regmap enable/disable ops | 202 | * @enable_mask: Mask for control when using regmap enable/disable ops |
| 203 | * @enable_is_inverted: A flag to indicate set enable_mask bits to disable | ||
| 204 | * when using regulator_enable_regmap and friends APIs. | ||
| 202 | * @bypass_reg: Register for control when using regmap set_bypass | 205 | * @bypass_reg: Register for control when using regmap set_bypass |
| 203 | * @bypass_mask: Mask for control when using regmap set_bypass | 206 | * @bypass_mask: Mask for control when using regmap set_bypass |
| 204 | * | 207 | * |
| @@ -228,6 +231,7 @@ struct regulator_desc { | |||
| 228 | unsigned int apply_bit; | 231 | unsigned int apply_bit; |
| 229 | unsigned int enable_reg; | 232 | unsigned int enable_reg; |
| 230 | unsigned int enable_mask; | 233 | unsigned int enable_mask; |
| 234 | bool enable_is_inverted; | ||
| 231 | unsigned int bypass_reg; | 235 | unsigned int bypass_reg; |
| 232 | unsigned int bypass_mask; | 236 | unsigned int bypass_mask; |
| 233 | 237 | ||
| @@ -302,8 +306,7 @@ struct regulator_dev { | |||
| 302 | 306 | ||
| 303 | struct dentry *debugfs; | 307 | struct dentry *debugfs; |
| 304 | 308 | ||
| 305 | int ena_gpio; | 309 | struct regulator_enable_gpio *ena_pin; |
| 306 | unsigned int ena_gpio_invert:1; | ||
| 307 | unsigned int ena_gpio_state:1; | 310 | unsigned int ena_gpio_state:1; |
| 308 | }; | 311 | }; |
| 309 | 312 | ||
| @@ -329,6 +332,8 @@ int regulator_map_voltage_linear(struct regulator_dev *rdev, | |||
| 329 | int min_uV, int max_uV); | 332 | int min_uV, int max_uV); |
| 330 | int regulator_map_voltage_iterate(struct regulator_dev *rdev, | 333 | int regulator_map_voltage_iterate(struct regulator_dev *rdev, |
| 331 | int min_uV, int max_uV); | 334 | int min_uV, int max_uV); |
| 335 | int regulator_map_voltage_ascend(struct regulator_dev *rdev, | ||
| 336 | int min_uV, int max_uV); | ||
| 332 | int regulator_get_voltage_sel_regmap(struct regulator_dev *rdev); | 337 | int regulator_get_voltage_sel_regmap(struct regulator_dev *rdev); |
| 333 | int regulator_set_voltage_sel_regmap(struct regulator_dev *rdev, unsigned sel); | 338 | int regulator_set_voltage_sel_regmap(struct regulator_dev *rdev, unsigned sel); |
| 334 | int regulator_is_enabled_regmap(struct regulator_dev *rdev); | 339 | int regulator_is_enabled_regmap(struct regulator_dev *rdev); |
diff --git a/include/linux/regulator/max8952.h b/include/linux/regulator/max8952.h index 45e42855ad05..4dbb63a1d4ab 100644 --- a/include/linux/regulator/max8952.h +++ b/include/linux/regulator/max8952.h | |||
| @@ -122,13 +122,13 @@ struct max8952_platform_data { | |||
| 122 | int gpio_vid1; | 122 | int gpio_vid1; |
| 123 | int gpio_en; | 123 | int gpio_en; |
| 124 | 124 | ||
| 125 | u8 default_mode; | 125 | u32 default_mode; |
| 126 | u8 dvs_mode[MAX8952_NUM_DVS_MODE]; /* MAX8952_DVS_MODEx_XXXXmV */ | 126 | u32 dvs_mode[MAX8952_NUM_DVS_MODE]; /* MAX8952_DVS_MODEx_XXXXmV */ |
| 127 | 127 | ||
| 128 | u8 sync_freq; | 128 | u32 sync_freq; |
| 129 | u8 ramp_speed; | 129 | u32 ramp_speed; |
| 130 | 130 | ||
| 131 | struct regulator_init_data reg_data; | 131 | struct regulator_init_data *reg_data; |
| 132 | }; | 132 | }; |
| 133 | 133 | ||
| 134 | 134 | ||
