Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

regulator: ab8500: Remove unused platform data

The struct ab8500_regulator_platform_data was a leftover
since the days before we probed all regulators from the
device tree. The ab8500-ext regulator was the only used,
defining platform data and register intialization that
was never used for anything, a copy of a boardfile no
longer in use.

Delete the ab8500_regulator_platform_data and make the
ab8500-ext regulator reference the regulator init data
in the local file directly. We are 100% device tree
these days.

Cc: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20201205004057.1712753-1-linus.walleij@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Linus Walleij and committed by
Mark Brown
c512150b 90fd840e

+2 -428
+2 -415
drivers/regulator/ab8500-ext.c
··· 24 24 #include <linux/mfd/abx500/ab8500.h> 25 25 #include <linux/regulator/ab8500.h> 26 26 27 - static struct regulator_consumer_supply ab8500_vaux1_consumers[] = { 28 - /* Main display, u8500 R3 uib */ 29 - REGULATOR_SUPPLY("vddi", "mcde_disp_sony_acx424akp.0"), 30 - /* Main display, u8500 uib and ST uib */ 31 - REGULATOR_SUPPLY("vdd1", "samsung_s6d16d0.0"), 32 - /* Secondary display, ST uib */ 33 - REGULATOR_SUPPLY("vdd1", "samsung_s6d16d0.1"), 34 - /* SFH7741 proximity sensor */ 35 - REGULATOR_SUPPLY("vcc", "gpio-keys.0"), 36 - /* BH1780GLS ambient light sensor */ 37 - REGULATOR_SUPPLY("vcc", "2-0029"), 38 - /* lsm303dlh accelerometer */ 39 - REGULATOR_SUPPLY("vdd", "2-0018"), 40 - /* lsm303dlhc accelerometer */ 41 - REGULATOR_SUPPLY("vdd", "2-0019"), 42 - /* lsm303dlh magnetometer */ 43 - REGULATOR_SUPPLY("vdd", "2-001e"), 44 - /* Rohm BU21013 Touchscreen devices */ 45 - REGULATOR_SUPPLY("avdd", "3-005c"), 46 - REGULATOR_SUPPLY("avdd", "3-005d"), 47 - /* Synaptics RMI4 Touchscreen device */ 48 - REGULATOR_SUPPLY("vdd", "3-004b"), 49 - /* L3G4200D Gyroscope device */ 50 - REGULATOR_SUPPLY("vdd", "2-0068"), 51 - /* Ambient light sensor device */ 52 - REGULATOR_SUPPLY("vdd", "3-0029"), 53 - /* Pressure sensor device */ 54 - REGULATOR_SUPPLY("vdd", "2-005c"), 55 - /* Cypress TrueTouch Touchscreen device */ 56 - REGULATOR_SUPPLY("vcpin", "spi8.0"), 57 - /* Camera device */ 58 - REGULATOR_SUPPLY("vaux12v5", "mmio_camera"), 59 - }; 60 - 61 - static struct regulator_consumer_supply ab8500_vaux2_consumers[] = { 62 - /* On-board eMMC power */ 63 - REGULATOR_SUPPLY("vmmc", "sdi4"), 64 - /* AB8500 audio codec */ 65 - REGULATOR_SUPPLY("vcc-N2158", "ab8500-codec.0"), 66 - /* AB8500 accessory detect 1 */ 67 - REGULATOR_SUPPLY("vcc-N2158", "ab8500-acc-det.0"), 68 - /* AB8500 Tv-out device */ 69 - REGULATOR_SUPPLY("vcc-N2158", "mcde_tv_ab8500.4"), 70 - /* AV8100 HDMI device */ 71 - REGULATOR_SUPPLY("vcc-N2158", "av8100_hdmi.3"), 72 - }; 73 - 74 - static struct regulator_consumer_supply ab8500_vaux3_consumers[] = { 75 - REGULATOR_SUPPLY("v-SD-STM", "stm"), 76 - /* External MMC slot power */ 77 - REGULATOR_SUPPLY("vmmc", "sdi0"), 78 - }; 79 - 80 - static struct regulator_consumer_supply ab8500_vtvout_consumers[] = { 81 - /* TV-out DENC supply */ 82 - REGULATOR_SUPPLY("vtvout", "ab8500-denc.0"), 83 - /* Internal general-purpose ADC */ 84 - REGULATOR_SUPPLY("vddadc", "ab8500-gpadc.0"), 85 - /* ADC for charger */ 86 - REGULATOR_SUPPLY("vddadc", "ab8500-charger.0"), 87 - /* AB8500 Tv-out device */ 88 - REGULATOR_SUPPLY("vtvout", "mcde_tv_ab8500.4"), 89 - }; 90 - 91 - static struct regulator_consumer_supply ab8500_vaud_consumers[] = { 92 - /* AB8500 audio-codec main supply */ 93 - REGULATOR_SUPPLY("vaud", "ab8500-codec.0"), 94 - }; 95 - 96 - static struct regulator_consumer_supply ab8500_vamic1_consumers[] = { 97 - /* AB8500 audio-codec Mic1 supply */ 98 - REGULATOR_SUPPLY("vamic1", "ab8500-codec.0"), 99 - }; 100 - 101 - static struct regulator_consumer_supply ab8500_vamic2_consumers[] = { 102 - /* AB8500 audio-codec Mic2 supply */ 103 - REGULATOR_SUPPLY("vamic2", "ab8500-codec.0"), 104 - }; 105 - 106 - static struct regulator_consumer_supply ab8500_vdmic_consumers[] = { 107 - /* AB8500 audio-codec DMic supply */ 108 - REGULATOR_SUPPLY("vdmic", "ab8500-codec.0"), 109 - }; 110 - 111 - static struct regulator_consumer_supply ab8500_vintcore_consumers[] = { 112 - /* SoC core supply, no device */ 113 - REGULATOR_SUPPLY("v-intcore", NULL), 114 - /* USB Transceiver */ 115 - REGULATOR_SUPPLY("vddulpivio18", "ab8500-usb.0"), 116 - /* Handled by abx500 clk driver */ 117 - REGULATOR_SUPPLY("v-intcore", "abx500-clk.0"), 118 - }; 119 - 120 - static struct regulator_consumer_supply ab8500_vana_consumers[] = { 121 - /* DB8500 DSI */ 122 - REGULATOR_SUPPLY("vdddsi1v2", "mcde"), 123 - REGULATOR_SUPPLY("vdddsi1v2", "b2r2_core"), 124 - REGULATOR_SUPPLY("vdddsi1v2", "b2r2_1_core"), 125 - REGULATOR_SUPPLY("vdddsi1v2", "dsilink.0"), 126 - REGULATOR_SUPPLY("vdddsi1v2", "dsilink.1"), 127 - REGULATOR_SUPPLY("vdddsi1v2", "dsilink.2"), 128 - /* DB8500 CSI */ 129 - REGULATOR_SUPPLY("vddcsi1v2", "mmio_camera"), 130 - }; 131 - 132 - /* ab8500 regulator register initialization */ 133 - static struct ab8500_regulator_reg_init ab8500_reg_init[] = { 134 - /* 135 - * VanaRequestCtrl = HP/LP depending on VxRequest 136 - * VextSupply1RequestCtrl = HP/LP depending on VxRequest 137 - */ 138 - INIT_REGULATOR_REGISTER(AB8500_REGUREQUESTCTRL2, 0xf0, 0x00), 139 - /* 140 - * VextSupply2RequestCtrl = HP/LP depending on VxRequest 141 - * VextSupply3RequestCtrl = HP/LP depending on VxRequest 142 - * Vaux1RequestCtrl = HP/LP depending on VxRequest 143 - * Vaux2RequestCtrl = HP/LP depending on VxRequest 144 - */ 145 - INIT_REGULATOR_REGISTER(AB8500_REGUREQUESTCTRL3, 0xff, 0x00), 146 - /* 147 - * Vaux3RequestCtrl = HP/LP depending on VxRequest 148 - * SwHPReq = Control through SWValid disabled 149 - */ 150 - INIT_REGULATOR_REGISTER(AB8500_REGUREQUESTCTRL4, 0x07, 0x00), 151 - /* 152 - * VanaSysClkReq1HPValid = disabled 153 - * Vaux1SysClkReq1HPValid = disabled 154 - * Vaux2SysClkReq1HPValid = disabled 155 - * Vaux3SysClkReq1HPValid = disabled 156 - */ 157 - INIT_REGULATOR_REGISTER(AB8500_REGUSYSCLKREQ1HPVALID1, 0xe8, 0x00), 158 - /* 159 - * VextSupply1SysClkReq1HPValid = disabled 160 - * VextSupply2SysClkReq1HPValid = disabled 161 - * VextSupply3SysClkReq1HPValid = SysClkReq1 controlled 162 - */ 163 - INIT_REGULATOR_REGISTER(AB8500_REGUSYSCLKREQ1HPVALID2, 0x70, 0x40), 164 - /* 165 - * VanaHwHPReq1Valid = disabled 166 - * Vaux1HwHPreq1Valid = disabled 167 - * Vaux2HwHPReq1Valid = disabled 168 - * Vaux3HwHPReqValid = disabled 169 - */ 170 - INIT_REGULATOR_REGISTER(AB8500_REGUHWHPREQ1VALID1, 0xe8, 0x00), 171 - /* 172 - * VextSupply1HwHPReq1Valid = disabled 173 - * VextSupply2HwHPReq1Valid = disabled 174 - * VextSupply3HwHPReq1Valid = disabled 175 - */ 176 - INIT_REGULATOR_REGISTER(AB8500_REGUHWHPREQ1VALID2, 0x07, 0x00), 177 - /* 178 - * VanaHwHPReq2Valid = disabled 179 - * Vaux1HwHPReq2Valid = disabled 180 - * Vaux2HwHPReq2Valid = disabled 181 - * Vaux3HwHPReq2Valid = disabled 182 - */ 183 - INIT_REGULATOR_REGISTER(AB8500_REGUHWHPREQ2VALID1, 0xe8, 0x00), 184 - /* 185 - * VextSupply1HwHPReq2Valid = disabled 186 - * VextSupply2HwHPReq2Valid = disabled 187 - * VextSupply3HwHPReq2Valid = HWReq2 controlled 188 - */ 189 - INIT_REGULATOR_REGISTER(AB8500_REGUHWHPREQ2VALID2, 0x07, 0x04), 190 - /* 191 - * VanaSwHPReqValid = disabled 192 - * Vaux1SwHPReqValid = disabled 193 - */ 194 - INIT_REGULATOR_REGISTER(AB8500_REGUSWHPREQVALID1, 0xa0, 0x00), 195 - /* 196 - * Vaux2SwHPReqValid = disabled 197 - * Vaux3SwHPReqValid = disabled 198 - * VextSupply1SwHPReqValid = disabled 199 - * VextSupply2SwHPReqValid = disabled 200 - * VextSupply3SwHPReqValid = disabled 201 - */ 202 - INIT_REGULATOR_REGISTER(AB8500_REGUSWHPREQVALID2, 0x1f, 0x00), 203 - /* 204 - * SysClkReq2Valid1 = SysClkReq2 controlled 205 - * SysClkReq3Valid1 = disabled 206 - * SysClkReq4Valid1 = SysClkReq4 controlled 207 - * SysClkReq5Valid1 = disabled 208 - * SysClkReq6Valid1 = SysClkReq6 controlled 209 - * SysClkReq7Valid1 = disabled 210 - * SysClkReq8Valid1 = disabled 211 - */ 212 - INIT_REGULATOR_REGISTER(AB8500_REGUSYSCLKREQVALID1, 0xfe, 0x2a), 213 - /* 214 - * SysClkReq2Valid2 = disabled 215 - * SysClkReq3Valid2 = disabled 216 - * SysClkReq4Valid2 = disabled 217 - * SysClkReq5Valid2 = disabled 218 - * SysClkReq6Valid2 = SysClkReq6 controlled 219 - * SysClkReq7Valid2 = disabled 220 - * SysClkReq8Valid2 = disabled 221 - */ 222 - INIT_REGULATOR_REGISTER(AB8500_REGUSYSCLKREQVALID2, 0xfe, 0x20), 223 - /* 224 - * VTVoutEna = disabled 225 - * Vintcore12Ena = disabled 226 - * Vintcore12Sel = 1.25 V 227 - * Vintcore12LP = inactive (HP) 228 - * VTVoutLP = inactive (HP) 229 - */ 230 - INIT_REGULATOR_REGISTER(AB8500_REGUMISC1, 0xfe, 0x10), 231 - /* 232 - * VaudioEna = disabled 233 - * VdmicEna = disabled 234 - * Vamic1Ena = disabled 235 - * Vamic2Ena = disabled 236 - */ 237 - INIT_REGULATOR_REGISTER(AB8500_VAUDIOSUPPLY, 0x1e, 0x00), 238 - /* 239 - * Vamic1_dzout = high-Z when Vamic1 is disabled 240 - * Vamic2_dzout = high-Z when Vamic2 is disabled 241 - */ 242 - INIT_REGULATOR_REGISTER(AB8500_REGUCTRL1VAMIC, 0x03, 0x00), 243 - /* 244 - * VPll = Hw controlled (NOTE! PRCMU bits) 245 - * VanaRegu = force off 246 - */ 247 - INIT_REGULATOR_REGISTER(AB8500_VPLLVANAREGU, 0x0f, 0x02), 248 - /* 249 - * VrefDDREna = disabled 250 - * VrefDDRSleepMode = inactive (no pulldown) 251 - */ 252 - INIT_REGULATOR_REGISTER(AB8500_VREFDDR, 0x03, 0x00), 253 - /* 254 - * VextSupply1Regu = force LP 255 - * VextSupply2Regu = force OFF 256 - * VextSupply3Regu = force HP (-> STBB2=LP and TPS=LP) 257 - * ExtSupply2Bypass = ExtSupply12LPn ball is 0 when Ena is 0 258 - * ExtSupply3Bypass = ExtSupply3LPn ball is 0 when Ena is 0 259 - */ 260 - INIT_REGULATOR_REGISTER(AB8500_EXTSUPPLYREGU, 0xff, 0x13), 261 - /* 262 - * Vaux1Regu = force HP 263 - * Vaux2Regu = force off 264 - */ 265 - INIT_REGULATOR_REGISTER(AB8500_VAUX12REGU, 0x0f, 0x01), 266 - /* 267 - * Vaux3Regu = force off 268 - */ 269 - INIT_REGULATOR_REGISTER(AB8500_VRF1VAUX3REGU, 0x03, 0x00), 270 - /* 271 - * Vaux1Sel = 2.8 V 272 - */ 273 - INIT_REGULATOR_REGISTER(AB8500_VAUX1SEL, 0x0f, 0x0C), 274 - /* 275 - * Vaux2Sel = 2.9 V 276 - */ 277 - INIT_REGULATOR_REGISTER(AB8500_VAUX2SEL, 0x0f, 0x0d), 278 - /* 279 - * Vaux3Sel = 2.91 V 280 - */ 281 - INIT_REGULATOR_REGISTER(AB8500_VRF1VAUX3SEL, 0x07, 0x07), 282 - /* 283 - * VextSupply12LP = disabled (no LP) 284 - */ 285 - INIT_REGULATOR_REGISTER(AB8500_REGUCTRL2SPARE, 0x01, 0x00), 286 - /* 287 - * Vaux1Disch = short discharge time 288 - * Vaux2Disch = short discharge time 289 - * Vaux3Disch = short discharge time 290 - * Vintcore12Disch = short discharge time 291 - * VTVoutDisch = short discharge time 292 - * VaudioDisch = short discharge time 293 - */ 294 - INIT_REGULATOR_REGISTER(AB8500_REGUCTRLDISCH, 0xfc, 0x00), 295 - /* 296 - * VanaDisch = short discharge time 297 - * VdmicPullDownEna = pulldown disabled when Vdmic is disabled 298 - * VdmicDisch = short discharge time 299 - */ 300 - INIT_REGULATOR_REGISTER(AB8500_REGUCTRLDISCH2, 0x16, 0x00), 301 - }; 302 - 303 - /* AB8500 regulators */ 304 - static struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = { 305 - /* supplies to the display/camera */ 306 - [AB8500_LDO_AUX1] = { 307 - .supply_regulator = "ab8500-ext-supply3", 308 - .constraints = { 309 - .name = "V-DISPLAY", 310 - .min_uV = 2800000, 311 - .max_uV = 3300000, 312 - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | 313 - REGULATOR_CHANGE_STATUS, 314 - .boot_on = 1, /* display is on at boot */ 315 - }, 316 - .num_consumer_supplies = ARRAY_SIZE(ab8500_vaux1_consumers), 317 - .consumer_supplies = ab8500_vaux1_consumers, 318 - }, 319 - /* supplies to the on-board eMMC */ 320 - [AB8500_LDO_AUX2] = { 321 - .supply_regulator = "ab8500-ext-supply3", 322 - .constraints = { 323 - .name = "V-eMMC1", 324 - .min_uV = 1100000, 325 - .max_uV = 3300000, 326 - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | 327 - REGULATOR_CHANGE_STATUS | 328 - REGULATOR_CHANGE_MODE, 329 - .valid_modes_mask = REGULATOR_MODE_NORMAL | 330 - REGULATOR_MODE_IDLE, 331 - }, 332 - .num_consumer_supplies = ARRAY_SIZE(ab8500_vaux2_consumers), 333 - .consumer_supplies = ab8500_vaux2_consumers, 334 - }, 335 - /* supply for VAUX3, supplies to SDcard slots */ 336 - [AB8500_LDO_AUX3] = { 337 - .supply_regulator = "ab8500-ext-supply3", 338 - .constraints = { 339 - .name = "V-MMC-SD", 340 - .min_uV = 1100000, 341 - .max_uV = 3300000, 342 - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | 343 - REGULATOR_CHANGE_STATUS | 344 - REGULATOR_CHANGE_MODE, 345 - .valid_modes_mask = REGULATOR_MODE_NORMAL | 346 - REGULATOR_MODE_IDLE, 347 - }, 348 - .num_consumer_supplies = ARRAY_SIZE(ab8500_vaux3_consumers), 349 - .consumer_supplies = ab8500_vaux3_consumers, 350 - }, 351 - /* supply for tvout, gpadc, TVOUT LDO */ 352 - [AB8500_LDO_TVOUT] = { 353 - .constraints = { 354 - .name = "V-TVOUT", 355 - .valid_ops_mask = REGULATOR_CHANGE_STATUS, 356 - }, 357 - .num_consumer_supplies = ARRAY_SIZE(ab8500_vtvout_consumers), 358 - .consumer_supplies = ab8500_vtvout_consumers, 359 - }, 360 - /* supply for ab8500-vaudio, VAUDIO LDO */ 361 - [AB8500_LDO_AUDIO] = { 362 - .constraints = { 363 - .name = "V-AUD", 364 - .valid_ops_mask = REGULATOR_CHANGE_STATUS, 365 - }, 366 - .num_consumer_supplies = ARRAY_SIZE(ab8500_vaud_consumers), 367 - .consumer_supplies = ab8500_vaud_consumers, 368 - }, 369 - /* supply for v-anamic1 VAMic1-LDO */ 370 - [AB8500_LDO_ANAMIC1] = { 371 - .constraints = { 372 - .name = "V-AMIC1", 373 - .valid_ops_mask = REGULATOR_CHANGE_STATUS, 374 - }, 375 - .num_consumer_supplies = ARRAY_SIZE(ab8500_vamic1_consumers), 376 - .consumer_supplies = ab8500_vamic1_consumers, 377 - }, 378 - /* supply for v-amic2, VAMIC2 LDO, reuse constants for AMIC1 */ 379 - [AB8500_LDO_ANAMIC2] = { 380 - .constraints = { 381 - .name = "V-AMIC2", 382 - .valid_ops_mask = REGULATOR_CHANGE_STATUS, 383 - }, 384 - .num_consumer_supplies = ARRAY_SIZE(ab8500_vamic2_consumers), 385 - .consumer_supplies = ab8500_vamic2_consumers, 386 - }, 387 - /* supply for v-dmic, VDMIC LDO */ 388 - [AB8500_LDO_DMIC] = { 389 - .constraints = { 390 - .name = "V-DMIC", 391 - .valid_ops_mask = REGULATOR_CHANGE_STATUS, 392 - }, 393 - .num_consumer_supplies = ARRAY_SIZE(ab8500_vdmic_consumers), 394 - .consumer_supplies = ab8500_vdmic_consumers, 395 - }, 396 - /* supply for v-intcore12, VINTCORE12 LDO */ 397 - [AB8500_LDO_INTCORE] = { 398 - .constraints = { 399 - .name = "V-INTCORE", 400 - .min_uV = 1250000, 401 - .max_uV = 1350000, 402 - .input_uV = 1800000, 403 - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | 404 - REGULATOR_CHANGE_STATUS | 405 - REGULATOR_CHANGE_MODE | 406 - REGULATOR_CHANGE_DRMS, 407 - .valid_modes_mask = REGULATOR_MODE_NORMAL | 408 - REGULATOR_MODE_IDLE, 409 - }, 410 - .num_consumer_supplies = ARRAY_SIZE(ab8500_vintcore_consumers), 411 - .consumer_supplies = ab8500_vintcore_consumers, 412 - }, 413 - /* supply for U8500 CSI-DSI, VANA LDO */ 414 - [AB8500_LDO_ANA] = { 415 - .constraints = { 416 - .name = "V-CSI-DSI", 417 - .valid_ops_mask = REGULATOR_CHANGE_STATUS, 418 - }, 419 - .num_consumer_supplies = ARRAY_SIZE(ab8500_vana_consumers), 420 - .consumer_supplies = ab8500_vana_consumers, 421 - }, 422 - }; 423 - 424 27 /* supply for VextSupply3 */ 425 28 static struct regulator_consumer_supply ab8500_ext_supply3_consumers[] = { 426 29 /* SIM supply for 3 V SIM cards */ ··· 66 463 ARRAY_SIZE(ab8500_ext_supply3_consumers), 67 464 .consumer_supplies = ab8500_ext_supply3_consumers, 68 465 }, 69 - }; 70 - 71 - static struct ab8500_regulator_platform_data ab8500_regulator_plat_data = { 72 - .reg_init = ab8500_reg_init, 73 - .num_reg_init = ARRAY_SIZE(ab8500_reg_init), 74 - .regulator = ab8500_regulators, 75 - .num_regulator = ARRAY_SIZE(ab8500_regulators), 76 - .ext_regulator = ab8500_ext_regulators, 77 - .num_ext_regulator = ARRAY_SIZE(ab8500_ext_regulators), 78 466 }; 79 467 80 468 /** ··· 382 788 static int ab8500_ext_regulator_probe(struct platform_device *pdev) 383 789 { 384 790 struct ab8500 *ab8500 = dev_get_drvdata(pdev->dev.parent); 385 - struct ab8500_regulator_platform_data *pdata = &ab8500_regulator_plat_data; 386 791 struct regulator_config config = { }; 387 792 struct regulator_dev *rdev; 388 793 int i; 389 794 390 795 if (!ab8500) { 391 796 dev_err(&pdev->dev, "null mfd parent\n"); 392 - return -EINVAL; 393 - } 394 - 395 - /* make sure the platform data has the correct size */ 396 - if (pdata->num_ext_regulator != ARRAY_SIZE(ab8500_ext_regulator_info)) { 397 - dev_err(&pdev->dev, "Configuration error: size mismatch.\n"); 398 797 return -EINVAL; 399 798 } 400 799 ··· 410 823 info = &ab8500_ext_regulator_info[i]; 411 824 info->dev = &pdev->dev; 412 825 info->cfg = (struct ab8500_ext_regulator_cfg *) 413 - pdata->ext_regulator[i].driver_data; 826 + ab8500_ext_regulators[i].driver_data; 414 827 415 828 config.dev = &pdev->dev; 416 829 config.driver_data = info; 417 - config.init_data = &pdata->ext_regulator[i]; 830 + config.init_data = &ab8500_ext_regulators[i]; 418 831 419 832 /* register regulator with framework */ 420 833 rdev = devm_regulator_register(&pdev->dev, &info->desc,
-3
include/linux/mfd/abx500/ab8500.h
··· 368 368 int it_latchhier_num; 369 369 }; 370 370 371 - struct ab8500_regulator_platform_data; 372 371 struct ab8500_codec_platform_data; 373 372 struct ab8500_sysctrl_platform_data; 374 373 ··· 375 376 * struct ab8500_platform_data - AB8500 platform data 376 377 * @irq_base: start of AB8500 IRQs, AB8500_NR_IRQS will be used 377 378 * @init: board-specific initialization after detection of ab8500 378 - * @regulator: machine-specific constraints for regulators 379 379 */ 380 380 struct ab8500_platform_data { 381 381 void (*init) (struct ab8500 *); 382 - struct ab8500_regulator_platform_data *regulator; 383 382 struct ab8500_codec_platform_data *codec; 384 383 struct ab8500_sysctrl_platform_data *sysctrl; 385 384 };
-10
include/linux/regulator/ab8500.h
··· 153 153 AB8500_NUM_EXT_REGULATORS, 154 154 }; 155 155 156 - /* AB8500 regulator platform data */ 157 - struct ab8500_regulator_platform_data { 158 - int num_reg_init; 159 - struct ab8500_regulator_reg_init *reg_init; 160 - int num_regulator; 161 - struct regulator_init_data *regulator; 162 - int num_ext_regulator; 163 - struct regulator_init_data *ext_regulator; 164 - }; 165 - 166 156 #endif