aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-omap2/board-4430sdp.c13
-rw-r--r--arch/arm/mach-omap2/board-cm-t35.c34
-rw-r--r--arch/arm/mach-omap2/board-devkit8000.c28
-rw-r--r--arch/arm/mach-omap2/board-igep0020.c27
-rw-r--r--arch/arm/mach-omap2/board-ldp.c8
-rw-r--r--arch/arm/mach-omap2/board-omap3beagle.c25
-rw-r--r--arch/arm/mach-omap2/board-omap3evm.c41
-rw-r--r--arch/arm/mach-omap2/board-omap3logic.c8
-rw-r--r--arch/arm/mach-omap2/board-omap3pandora.c63
-rw-r--r--arch/arm/mach-omap2/board-omap3stalker.c25
-rw-r--r--arch/arm/mach-omap2/board-omap3touchbook.c32
-rw-r--r--arch/arm/mach-omap2/board-omap4panda.c16
-rw-r--r--arch/arm/mach-omap2/board-overo.c26
-rw-r--r--arch/arm/mach-omap2/board-rx51-peripherals.c29
-rw-r--r--arch/arm/mach-omap2/board-zoom-peripherals.c42
15 files changed, 218 insertions, 199 deletions
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index 63de2d396e2..39a80624177 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -333,16 +333,11 @@ static struct omap2_hsmmc_info mmc[] = {
333}; 333};
334 334
335static struct regulator_consumer_supply sdp4430_vaux_supply[] = { 335static struct regulator_consumer_supply sdp4430_vaux_supply[] = {
336 { 336 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"),
337 .supply = "vmmc",
338 .dev_name = "omap_hsmmc.1",
339 },
340}; 337};
338
341static struct regulator_consumer_supply sdp4430_vmmc_supply[] = { 339static struct regulator_consumer_supply sdp4430_vmmc_supply[] = {
342 { 340 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
343 .supply = "vmmc",
344 .dev_name = "omap_hsmmc.0",
345 },
346}; 341};
347 342
348static int omap4_twl6030_hsmmc_late_init(struct device *dev) 343static int omap4_twl6030_hsmmc_late_init(struct device *dev)
@@ -399,7 +394,7 @@ static struct regulator_init_data sdp4430_vaux1 = {
399 | REGULATOR_CHANGE_MODE 394 | REGULATOR_CHANGE_MODE
400 | REGULATOR_CHANGE_STATUS, 395 | REGULATOR_CHANGE_STATUS,
401 }, 396 },
402 .num_consumer_supplies = 1, 397 .num_consumer_supplies = ARRAY_SIZE(sdp4430_vaux_supply),
403 .consumer_supplies = sdp4430_vaux_supply, 398 .consumer_supplies = sdp4430_vaux_supply,
404}; 399};
405 400
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 77456dec93e..e7bf32de753 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -337,19 +337,21 @@ static void __init cm_t35_init_display(void)
337 } 337 }
338} 338}
339 339
340static struct regulator_consumer_supply cm_t35_vmmc1_supply = { 340static struct regulator_consumer_supply cm_t35_vmmc1_supply[] = {
341 .supply = "vmmc", 341 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
342}; 342};
343 343
344static struct regulator_consumer_supply cm_t35_vsim_supply = { 344static struct regulator_consumer_supply cm_t35_vsim_supply[] = {
345 .supply = "vmmc_aux", 345 REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
346}; 346};
347 347
348static struct regulator_consumer_supply cm_t35_vdac_supply = 348static struct regulator_consumer_supply cm_t35_vdac_supply[] = {
349 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); 349 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
350};
350 351
351static struct regulator_consumer_supply cm_t35_vdvi_supply = 352static struct regulator_consumer_supply cm_t35_vdvi_supply[] = {
352 REGULATOR_SUPPLY("vdvi", "omapdss"); 353 REGULATOR_SUPPLY("vdvi", "omapdss"),
354};
353 355
354/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ 356/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
355static struct regulator_init_data cm_t35_vmmc1 = { 357static struct regulator_init_data cm_t35_vmmc1 = {
@@ -362,8 +364,8 @@ static struct regulator_init_data cm_t35_vmmc1 = {
362 | REGULATOR_CHANGE_MODE 364 | REGULATOR_CHANGE_MODE
363 | REGULATOR_CHANGE_STATUS, 365 | REGULATOR_CHANGE_STATUS,
364 }, 366 },
365 .num_consumer_supplies = 1, 367 .num_consumer_supplies = ARRAY_SIZE(cm_t35_vmmc1_supply),
366 .consumer_supplies = &cm_t35_vmmc1_supply, 368 .consumer_supplies = cm_t35_vmmc1_supply,
367}; 369};
368 370
369/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */ 371/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
@@ -377,8 +379,8 @@ static struct regulator_init_data cm_t35_vsim = {
377 | REGULATOR_CHANGE_MODE 379 | REGULATOR_CHANGE_MODE
378 | REGULATOR_CHANGE_STATUS, 380 | REGULATOR_CHANGE_STATUS,
379 }, 381 },
380 .num_consumer_supplies = 1, 382 .num_consumer_supplies = ARRAY_SIZE(cm_t35_vsim_supply),
381 .consumer_supplies = &cm_t35_vsim_supply, 383 .consumer_supplies = cm_t35_vsim_supply,
382}; 384};
383 385
384/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ 386/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
@@ -391,8 +393,8 @@ static struct regulator_init_data cm_t35_vdac = {
391 .valid_ops_mask = REGULATOR_CHANGE_MODE 393 .valid_ops_mask = REGULATOR_CHANGE_MODE
392 | REGULATOR_CHANGE_STATUS, 394 | REGULATOR_CHANGE_STATUS,
393 }, 395 },
394 .num_consumer_supplies = 1, 396 .num_consumer_supplies = ARRAY_SIZE(cm_t35_vdac_supply),
395 .consumer_supplies = &cm_t35_vdac_supply, 397 .consumer_supplies = cm_t35_vdac_supply,
396}; 398};
397 399
398/* VPLL2 for digital video outputs */ 400/* VPLL2 for digital video outputs */
@@ -406,8 +408,8 @@ static struct regulator_init_data cm_t35_vpll2 = {
406 .valid_ops_mask = REGULATOR_CHANGE_MODE 408 .valid_ops_mask = REGULATOR_CHANGE_MODE
407 | REGULATOR_CHANGE_STATUS, 409 | REGULATOR_CHANGE_STATUS,
408 }, 410 },
409 .num_consumer_supplies = 1, 411 .num_consumer_supplies = ARRAY_SIZE(cm_t35_vdvi_supply),
410 .consumer_supplies = &cm_t35_vdvi_supply, 412 .consumer_supplies = cm_t35_vdvi_supply,
411}; 413};
412 414
413static struct twl4030_usb_data cm_t35_usb_data = { 415static struct twl4030_usb_data cm_t35_usb_data = {
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
index 34956ec8329..ead9c1d1940 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -130,13 +130,14 @@ static void devkit8000_panel_disable_dvi(struct omap_dss_device *dssdev)
130 gpio_set_value_cansleep(dssdev->reset_gpio, 0); 130 gpio_set_value_cansleep(dssdev->reset_gpio, 0);
131} 131}
132 132
133static struct regulator_consumer_supply devkit8000_vmmc1_supply = 133static struct regulator_consumer_supply devkit8000_vmmc1_supply[] = {
134 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"); 134 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
135 135};
136 136
137/* ads7846 on SPI */ 137/* ads7846 on SPI */
138static struct regulator_consumer_supply devkit8000_vio_supply = 138static struct regulator_consumer_supply devkit8000_vio_supply[] = {
139 REGULATOR_SUPPLY("vcc", "spi2.0"); 139 REGULATOR_SUPPLY("vcc", "spi2.0"),
140};
140 141
141static struct panel_generic_dpi_data lcd_panel = { 142static struct panel_generic_dpi_data lcd_panel = {
142 .name = "generic", 143 .name = "generic",
@@ -186,8 +187,9 @@ static struct omap_dss_board_info devkit8000_dss_data = {
186 .default_device = &devkit8000_lcd_device, 187 .default_device = &devkit8000_lcd_device,
187}; 188};
188 189
189static struct regulator_consumer_supply devkit8000_vdda_dac_supply = 190static struct regulator_consumer_supply devkit8000_vdda_dac_supply[] = {
190 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); 191 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
192};
191 193
192static uint32_t board_keymap[] = { 194static uint32_t board_keymap[] = {
193 KEY(0, 0, KEY_1), 195 KEY(0, 0, KEY_1),
@@ -284,8 +286,8 @@ static struct regulator_init_data devkit8000_vmmc1 = {
284 | REGULATOR_CHANGE_MODE 286 | REGULATOR_CHANGE_MODE
285 | REGULATOR_CHANGE_STATUS, 287 | REGULATOR_CHANGE_STATUS,
286 }, 288 },
287 .num_consumer_supplies = 1, 289 .num_consumer_supplies = ARRAY_SIZE(devkit8000_vmmc1_supply),
288 .consumer_supplies = &devkit8000_vmmc1_supply, 290 .consumer_supplies = devkit8000_vmmc1_supply,
289}; 291};
290 292
291/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ 293/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
@@ -298,8 +300,8 @@ static struct regulator_init_data devkit8000_vdac = {
298 .valid_ops_mask = REGULATOR_CHANGE_MODE 300 .valid_ops_mask = REGULATOR_CHANGE_MODE
299 | REGULATOR_CHANGE_STATUS, 301 | REGULATOR_CHANGE_STATUS,
300 }, 302 },
301 .num_consumer_supplies = 1, 303 .num_consumer_supplies = ARRAY_SIZE(devkit8000_vdda_dac_supply),
302 .consumer_supplies = &devkit8000_vdda_dac_supply, 304 .consumer_supplies = devkit8000_vdda_dac_supply,
303}; 305};
304 306
305/* VPLL1 for digital video outputs */ 307/* VPLL1 for digital video outputs */
@@ -327,8 +329,8 @@ static struct regulator_init_data devkit8000_vio = {
327 .valid_ops_mask = REGULATOR_CHANGE_MODE 329 .valid_ops_mask = REGULATOR_CHANGE_MODE
328 | REGULATOR_CHANGE_STATUS, 330 | REGULATOR_CHANGE_STATUS,
329 }, 331 },
330 .num_consumer_supplies = 1, 332 .num_consumer_supplies = ARRAY_SIZE(devkit8000_vio_supply),
331 .consumer_supplies = &devkit8000_vio_supply, 333 .consumer_supplies = devkit8000_vio_supply,
332}; 334};
333 335
334static struct twl4030_usb_data devkit8000_usb_data = { 336static struct twl4030_usb_data devkit8000_usb_data = {
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
index 0c1bfca3f73..84d28460833 100644
--- a/arch/arm/mach-omap2/board-igep0020.c
+++ b/arch/arm/mach-omap2/board-igep0020.c
@@ -222,8 +222,9 @@ static inline void __init igep2_init_smsc911x(void)
222static inline void __init igep2_init_smsc911x(void) { } 222static inline void __init igep2_init_smsc911x(void) { }
223#endif 223#endif
224 224
225static struct regulator_consumer_supply igep_vmmc1_supply = 225static struct regulator_consumer_supply igep_vmmc1_supply[] = {
226 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"); 226 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
227};
227 228
228/* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */ 229/* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */
229static struct regulator_init_data igep_vmmc1 = { 230static struct regulator_init_data igep_vmmc1 = {
@@ -236,12 +237,13 @@ static struct regulator_init_data igep_vmmc1 = {
236 | REGULATOR_CHANGE_MODE 237 | REGULATOR_CHANGE_MODE
237 | REGULATOR_CHANGE_STATUS, 238 | REGULATOR_CHANGE_STATUS,
238 }, 239 },
239 .num_consumer_supplies = 1, 240 .num_consumer_supplies = ARRAY_SIZE(igep_vmmc1_supply),
240 .consumer_supplies = &igep_vmmc1_supply, 241 .consumer_supplies = igep_vmmc1_supply,
241}; 242};
242 243
243static struct regulator_consumer_supply igep_vio_supply = 244static struct regulator_consumer_supply igep_vio_supply[] = {
244 REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.1"); 245 REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.1"),
246};
245 247
246static struct regulator_init_data igep_vio = { 248static struct regulator_init_data igep_vio = {
247 .constraints = { 249 .constraints = {
@@ -254,20 +256,21 @@ static struct regulator_init_data igep_vio = {
254 | REGULATOR_CHANGE_MODE 256 | REGULATOR_CHANGE_MODE
255 | REGULATOR_CHANGE_STATUS, 257 | REGULATOR_CHANGE_STATUS,
256 }, 258 },
257 .num_consumer_supplies = 1, 259 .num_consumer_supplies = ARRAY_SIZE(igep_vio_supply),
258 .consumer_supplies = &igep_vio_supply, 260 .consumer_supplies = igep_vio_supply,
259}; 261};
260 262
261static struct regulator_consumer_supply igep_vmmc2_supply = 263static struct regulator_consumer_supply igep_vmmc2_supply[] = {
262 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"); 264 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"),
265};
263 266
264static struct regulator_init_data igep_vmmc2 = { 267static struct regulator_init_data igep_vmmc2 = {
265 .constraints = { 268 .constraints = {
266 .valid_modes_mask = REGULATOR_MODE_NORMAL, 269 .valid_modes_mask = REGULATOR_MODE_NORMAL,
267 .always_on = 1, 270 .always_on = 1,
268 }, 271 },
269 .num_consumer_supplies = 1, 272 .num_consumer_supplies = ARRAY_SIZE(igep_vmmc2_supply),
270 .consumer_supplies = &igep_vmmc2_supply, 273 .consumer_supplies = igep_vmmc2_supply,
271}; 274};
272 275
273static struct fixed_voltage_config igep_vwlan = { 276static struct fixed_voltage_config igep_vwlan = {
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
index f7d6038075f..069bc9f0cf3 100644
--- a/arch/arm/mach-omap2/board-ldp.c
+++ b/arch/arm/mach-omap2/board-ldp.c
@@ -213,8 +213,8 @@ static struct twl4030_madc_platform_data ldp_madc_data = {
213 .irq_line = 1, 213 .irq_line = 1,
214}; 214};
215 215
216static struct regulator_consumer_supply ldp_vmmc1_supply = { 216static struct regulator_consumer_supply ldp_vmmc1_supply[] = {
217 .supply = "vmmc", 217 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
218}; 218};
219 219
220/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ 220/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
@@ -228,8 +228,8 @@ static struct regulator_init_data ldp_vmmc1 = {
228 | REGULATOR_CHANGE_MODE 228 | REGULATOR_CHANGE_MODE
229 | REGULATOR_CHANGE_STATUS, 229 | REGULATOR_CHANGE_STATUS,
230 }, 230 },
231 .num_consumer_supplies = 1, 231 .num_consumer_supplies = ARRAY_SIZE(ldp_vmmc1_supply),
232 .consumer_supplies = &ldp_vmmc1_supply, 232 .consumer_supplies = ldp_vmmc1_supply,
233}; 233};
234 234
235/* ads7846 on SPI */ 235/* ads7846 on SPI */
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 7f21d24bd43..4cf7c19ea0e 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -210,8 +210,9 @@ static struct omap_dss_board_info beagle_dss_data = {
210 .default_device = &beagle_dvi_device, 210 .default_device = &beagle_dvi_device,
211}; 211};
212 212
213static struct regulator_consumer_supply beagle_vdac_supply = 213static struct regulator_consumer_supply beagle_vdac_supply[] = {
214 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); 214 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
215};
215 216
216static struct regulator_consumer_supply beagle_vdvi_supplies[] = { 217static struct regulator_consumer_supply beagle_vdvi_supplies[] = {
217 REGULATOR_SUPPLY("vdds_dsi", "omapdss"), 218 REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
@@ -239,12 +240,12 @@ static struct omap2_hsmmc_info mmc[] = {
239 {} /* Terminator */ 240 {} /* Terminator */
240}; 241};
241 242
242static struct regulator_consumer_supply beagle_vmmc1_supply = { 243static struct regulator_consumer_supply beagle_vmmc1_supply[] = {
243 .supply = "vmmc", 244 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
244}; 245};
245 246
246static struct regulator_consumer_supply beagle_vsim_supply = { 247static struct regulator_consumer_supply beagle_vsim_supply[] = {
247 .supply = "vmmc_aux", 248 REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
248}; 249};
249 250
250static struct gpio_led gpio_leds[]; 251static struct gpio_led gpio_leds[];
@@ -336,8 +337,8 @@ static struct regulator_init_data beagle_vmmc1 = {
336 | REGULATOR_CHANGE_MODE 337 | REGULATOR_CHANGE_MODE
337 | REGULATOR_CHANGE_STATUS, 338 | REGULATOR_CHANGE_STATUS,
338 }, 339 },
339 .num_consumer_supplies = 1, 340 .num_consumer_supplies = ARRAY_SIZE(beagle_vmmc1_supply),
340 .consumer_supplies = &beagle_vmmc1_supply, 341 .consumer_supplies = beagle_vmmc1_supply,
341}; 342};
342 343
343/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */ 344/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
@@ -351,8 +352,8 @@ static struct regulator_init_data beagle_vsim = {
351 | REGULATOR_CHANGE_MODE 352 | REGULATOR_CHANGE_MODE
352 | REGULATOR_CHANGE_STATUS, 353 | REGULATOR_CHANGE_STATUS,
353 }, 354 },
354 .num_consumer_supplies = 1, 355 .num_consumer_supplies = ARRAY_SIZE(beagle_vsim_supply),
355 .consumer_supplies = &beagle_vsim_supply, 356 .consumer_supplies = beagle_vsim_supply,
356}; 357};
357 358
358/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ 359/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
@@ -365,8 +366,8 @@ static struct regulator_init_data beagle_vdac = {
365 .valid_ops_mask = REGULATOR_CHANGE_MODE 366 .valid_ops_mask = REGULATOR_CHANGE_MODE
366 | REGULATOR_CHANGE_STATUS, 367 | REGULATOR_CHANGE_STATUS,
367 }, 368 },
368 .num_consumer_supplies = 1, 369 .num_consumer_supplies = ARRAY_SIZE(beagle_vdac_supply),
369 .consumer_supplies = &beagle_vdac_supply, 370 .consumer_supplies = beagle_vdac_supply,
370}; 371};
371 372
372/* VPLL2 for digital video outputs */ 373/* VPLL2 for digital video outputs */
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index b4d43464a30..fc7a23add5f 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -273,12 +273,12 @@ static struct omap_dss_board_info omap3_evm_dss_data = {
273 .default_device = &omap3_evm_lcd_device, 273 .default_device = &omap3_evm_lcd_device,
274}; 274};
275 275
276static struct regulator_consumer_supply omap3evm_vmmc1_supply = { 276static struct regulator_consumer_supply omap3evm_vmmc1_supply[] = {
277 .supply = "vmmc", 277 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
278}; 278};
279 279
280static struct regulator_consumer_supply omap3evm_vsim_supply = { 280static struct regulator_consumer_supply omap3evm_vsim_supply[] = {
281 .supply = "vmmc_aux", 281 REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
282}; 282};
283 283
284/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ 284/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
@@ -292,8 +292,8 @@ static struct regulator_init_data omap3evm_vmmc1 = {
292 | REGULATOR_CHANGE_MODE 292 | REGULATOR_CHANGE_MODE
293 | REGULATOR_CHANGE_STATUS, 293 | REGULATOR_CHANGE_STATUS,
294 }, 294 },
295 .num_consumer_supplies = 1, 295 .num_consumer_supplies = ARRAY_SIZE(omap3evm_vmmc1_supply),
296 .consumer_supplies = &omap3evm_vmmc1_supply, 296 .consumer_supplies = omap3evm_vmmc1_supply,
297}; 297};
298 298
299/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */ 299/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
@@ -307,8 +307,8 @@ static struct regulator_init_data omap3evm_vsim = {
307 | REGULATOR_CHANGE_MODE 307 | REGULATOR_CHANGE_MODE
308 | REGULATOR_CHANGE_STATUS, 308 | REGULATOR_CHANGE_STATUS,
309 }, 309 },
310 .num_consumer_supplies = 1, 310 .num_consumer_supplies = ARRAY_SIZE(omap3evm_vsim_supply),
311 .consumer_supplies = &omap3evm_vsim_supply, 311 .consumer_supplies = omap3evm_vsim_supply,
312}; 312};
313 313
314static struct omap2_hsmmc_info mmc[] = { 314static struct omap2_hsmmc_info mmc[] = {
@@ -449,8 +449,9 @@ static struct twl4030_codec_data omap3evm_codec_data = {
449 .audio = &omap3evm_audio_data, 449 .audio = &omap3evm_audio_data,
450}; 450};
451 451
452static struct regulator_consumer_supply omap3_evm_vdda_dac_supply = 452static struct regulator_consumer_supply omap3_evm_vdda_dac_supply[] = {
453 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); 453 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
454};
454 455
455/* VDAC for DSS driving S-Video */ 456/* VDAC for DSS driving S-Video */
456static struct regulator_init_data omap3_evm_vdac = { 457static struct regulator_init_data omap3_evm_vdac = {
@@ -463,8 +464,8 @@ static struct regulator_init_data omap3_evm_vdac = {
463 .valid_ops_mask = REGULATOR_CHANGE_MODE 464 .valid_ops_mask = REGULATOR_CHANGE_MODE
464 | REGULATOR_CHANGE_STATUS, 465 | REGULATOR_CHANGE_STATUS,
465 }, 466 },
466 .num_consumer_supplies = 1, 467 .num_consumer_supplies = ARRAY_SIZE(omap3_evm_vdda_dac_supply),
467 .consumer_supplies = &omap3_evm_vdda_dac_supply, 468 .consumer_supplies = omap3_evm_vdda_dac_supply,
468}; 469};
469 470
470/* VPLL2 for digital video outputs */ 471/* VPLL2 for digital video outputs */
@@ -488,8 +489,9 @@ static struct regulator_init_data omap3_evm_vpll2 = {
488}; 489};
489 490
490/* ads7846 on SPI */ 491/* ads7846 on SPI */
491static struct regulator_consumer_supply omap3evm_vio_supply = 492static struct regulator_consumer_supply omap3evm_vio_supply[] = {
492 REGULATOR_SUPPLY("vcc", "spi1.0"); 493 REGULATOR_SUPPLY("vcc", "spi1.0"),
494};
493 495
494/* VIO for ads7846 */ 496/* VIO for ads7846 */
495static struct regulator_init_data omap3evm_vio = { 497static struct regulator_init_data omap3evm_vio = {
@@ -502,8 +504,8 @@ static struct regulator_init_data omap3evm_vio = {
502 .valid_ops_mask = REGULATOR_CHANGE_MODE 504 .valid_ops_mask = REGULATOR_CHANGE_MODE
503 | REGULATOR_CHANGE_STATUS, 505 | REGULATOR_CHANGE_STATUS,
504 }, 506 },
505 .num_consumer_supplies = 1, 507 .num_consumer_supplies = ARRAY_SIZE(omap3evm_vio_supply),
506 .consumer_supplies = &omap3evm_vio_supply, 508 .consumer_supplies = omap3evm_vio_supply,
507}; 509};
508 510
509#ifdef CONFIG_WL12XX_PLATFORM_DATA 511#ifdef CONFIG_WL12XX_PLATFORM_DATA
@@ -511,16 +513,17 @@ static struct regulator_init_data omap3evm_vio = {
511#define OMAP3EVM_WLAN_PMENA_GPIO (150) 513#define OMAP3EVM_WLAN_PMENA_GPIO (150)
512#define OMAP3EVM_WLAN_IRQ_GPIO (149) 514#define OMAP3EVM_WLAN_IRQ_GPIO (149)
513 515
514static struct regulator_consumer_supply omap3evm_vmmc2_supply = 516static struct regulator_consumer_supply omap3evm_vmmc2_supply[] = {
515 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"); 517 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1");
518};
516 519
517/* VMMC2 for driving the WL12xx module */ 520/* VMMC2 for driving the WL12xx module */
518static struct regulator_init_data omap3evm_vmmc2 = { 521static struct regulator_init_data omap3evm_vmmc2 = {
519 .constraints = { 522 .constraints = {
520 .valid_ops_mask = REGULATOR_CHANGE_STATUS, 523 .valid_ops_mask = REGULATOR_CHANGE_STATUS,
521 }, 524 },
522 .num_consumer_supplies = 1, 525 .num_consumer_supplies = ARRAY_SIZE(omap3evm_vmmc2_supply);,
523 .consumer_supplies = &omap3evm_vmmc2_supply, 526 .consumer_supplies = omap3evm_vmmc2_supply,
524}; 527};
525 528
526static struct fixed_voltage_config omap3evm_vwlan = { 529static struct fixed_voltage_config omap3evm_vwlan = {
diff --git a/arch/arm/mach-omap2/board-omap3logic.c b/arch/arm/mach-omap2/board-omap3logic.c
index 60d9be49dba..ec18435bc5d 100644
--- a/arch/arm/mach-omap2/board-omap3logic.c
+++ b/arch/arm/mach-omap2/board-omap3logic.c
@@ -55,8 +55,8 @@
55#define OMAP3_TORPEDO_MMC_GPIO_CD 127 55#define OMAP3_TORPEDO_MMC_GPIO_CD 127
56#define OMAP3_TORPEDO_SMSC911X_GPIO_IRQ 129 56#define OMAP3_TORPEDO_SMSC911X_GPIO_IRQ 129
57 57
58static struct regulator_consumer_supply omap3logic_vmmc1_supply = { 58static struct regulator_consumer_supply omap3logic_vmmc1_supply[] = {
59 .supply = "vmmc", 59 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
60}; 60};
61 61
62/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ 62/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
@@ -71,8 +71,8 @@ static struct regulator_init_data omap3logic_vmmc1 = {
71 | REGULATOR_CHANGE_MODE 71 | REGULATOR_CHANGE_MODE
72 | REGULATOR_CHANGE_STATUS, 72 | REGULATOR_CHANGE_STATUS,
73 }, 73 },
74 .num_consumer_supplies = 1, 74 .num_consumer_supplies = ARRAY_SIZE(omap3logic_vmmc1_supply),
75 .consumer_supplies = &omap3logic_vmmc1_supply, 75 .consumer_supplies = omap3logic_vmmc1_supply,
76}; 76};
77 77
78static struct twl4030_gpio_platform_data omap3logic_gpio_data = { 78static struct twl4030_gpio_platform_data omap3logic_gpio_data = {
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c
index 2a0bb4818ca..e95bba281a0 100644
--- a/arch/arm/mach-omap2/board-omap3pandora.c
+++ b/arch/arm/mach-omap2/board-omap3pandora.c
@@ -319,17 +319,21 @@ static struct twl4030_gpio_platform_data omap3pandora_gpio_data = {
319 .setup = omap3pandora_twl_gpio_setup, 319 .setup = omap3pandora_twl_gpio_setup,
320}; 320};
321 321
322static struct regulator_consumer_supply pandora_vmmc1_supply = 322static struct regulator_consumer_supply pandora_vmmc1_supply[] = {
323 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"); 323 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
324};
324 325
325static struct regulator_consumer_supply pandora_vmmc2_supply = 326static struct regulator_consumer_supply pandora_vmmc2_supply[] = {
326 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"); 327 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1")
328};
327 329
328static struct regulator_consumer_supply pandora_vmmc3_supply = 330static struct regulator_consumer_supply pandora_vmmc3_supply[] = {
329 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.2"); 331 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.2"),
332};
330 333
331static struct regulator_consumer_supply pandora_vdda_dac_supply = 334static struct regulator_consumer_supply pandora_vdda_dac_supply[] = {
332 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); 335 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
336};
333 337
334static struct regulator_consumer_supply pandora_vdds_supplies[] = { 338static struct regulator_consumer_supply pandora_vdds_supplies[] = {
335 REGULATOR_SUPPLY("vdds_sdi", "omapdss"), 339 REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
@@ -337,11 +341,13 @@ static struct regulator_consumer_supply pandora_vdds_supplies[] = {
337 REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"), 341 REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
338}; 342};
339 343
340static struct regulator_consumer_supply pandora_vcc_lcd_supply = 344static struct regulator_consumer_supply pandora_vcc_lcd_supply[] = {
341 REGULATOR_SUPPLY("vcc", "display0"); 345 REGULATOR_SUPPLY("vcc", "display0"),
346};
342 347
343static struct regulator_consumer_supply pandora_usb_phy_supply = 348static struct regulator_consumer_supply pandora_usb_phy_supply[] = {
344 REGULATOR_SUPPLY("hsusb0", "ehci-omap.0"); 349 REGULATOR_SUPPLY("hsusb0", "ehci-omap.0"),
350};
345 351
346/* ads7846 on SPI and 2 nub controllers on I2C */ 352/* ads7846 on SPI and 2 nub controllers on I2C */
347static struct regulator_consumer_supply pandora_vaux4_supplies[] = { 353static struct regulator_consumer_supply pandora_vaux4_supplies[] = {
@@ -350,8 +356,9 @@ static struct regulator_consumer_supply pandora_vaux4_supplies[] = {
350 REGULATOR_SUPPLY("vcc", "3-0067"), 356 REGULATOR_SUPPLY("vcc", "3-0067"),
351}; 357};
352 358
353static struct regulator_consumer_supply pandora_adac_supply = 359static struct regulator_consumer_supply pandora_adac_supply[] = {
354 REGULATOR_SUPPLY("vcc", "soc-audio"); 360 REGULATOR_SUPPLY("vcc", "soc-audio"),
361};
355 362
356/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ 363/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
357static struct regulator_init_data pandora_vmmc1 = { 364static struct regulator_init_data pandora_vmmc1 = {
@@ -364,8 +371,8 @@ static struct regulator_init_data pandora_vmmc1 = {
364 | REGULATOR_CHANGE_MODE 371 | REGULATOR_CHANGE_MODE
365 | REGULATOR_CHANGE_STATUS, 372 | REGULATOR_CHANGE_STATUS,
366 }, 373 },
367 .num_consumer_supplies = 1, 374 .num_consumer_supplies = ARRAY_SIZE(pandora_vmmc1_supply),
368 .consumer_supplies = &pandora_vmmc1_supply, 375 .consumer_supplies = pandora_vmmc1_supply,
369}; 376};
370 377
371/* VMMC2 for MMC2 pins CMD, CLK, DAT0..DAT3 (max 100 mA) */ 378/* VMMC2 for MMC2 pins CMD, CLK, DAT0..DAT3 (max 100 mA) */
@@ -379,8 +386,8 @@ static struct regulator_init_data pandora_vmmc2 = {
379 | REGULATOR_CHANGE_MODE 386 | REGULATOR_CHANGE_MODE
380 | REGULATOR_CHANGE_STATUS, 387 | REGULATOR_CHANGE_STATUS,
381 }, 388 },
382 .num_consumer_supplies = 1, 389 .num_consumer_supplies = ARRAY_SIZE(pandora_vmmc2_supply),
383 .consumer_supplies = &pandora_vmmc2_supply, 390 .consumer_supplies = pandora_vmmc2_supply,
384}; 391};
385 392
386/* VDAC for DSS driving S-Video */ 393/* VDAC for DSS driving S-Video */
@@ -394,8 +401,8 @@ static struct regulator_init_data pandora_vdac = {
394 .valid_ops_mask = REGULATOR_CHANGE_MODE 401 .valid_ops_mask = REGULATOR_CHANGE_MODE
395 | REGULATOR_CHANGE_STATUS, 402 | REGULATOR_CHANGE_STATUS,
396 }, 403 },
397 .num_consumer_supplies = 1, 404 .num_consumer_supplies = ARRAY_SIZE(pandora_vdda_dac_supply),
398 .consumer_supplies = &pandora_vdda_dac_supply, 405 .consumer_supplies = pandora_vdda_dac_supply,
399}; 406};
400 407
401/* VPLL2 for digital video outputs */ 408/* VPLL2 for digital video outputs */
@@ -424,8 +431,8 @@ static struct regulator_init_data pandora_vaux1 = {
424 .valid_ops_mask = REGULATOR_CHANGE_MODE 431 .valid_ops_mask = REGULATOR_CHANGE_MODE
425 | REGULATOR_CHANGE_STATUS, 432 | REGULATOR_CHANGE_STATUS,
426 }, 433 },
427 .num_consumer_supplies = 1, 434 .num_consumer_supplies = ARRAY_SIZE(pandora_vcc_lcd_supply),
428 .consumer_supplies = &pandora_vcc_lcd_supply, 435 .consumer_supplies = pandora_vcc_lcd_supply,
429}; 436};
430 437
431/* VAUX2 for USB host PHY */ 438/* VAUX2 for USB host PHY */
@@ -439,8 +446,8 @@ static struct regulator_init_data pandora_vaux2 = {
439 .valid_ops_mask = REGULATOR_CHANGE_MODE 446 .valid_ops_mask = REGULATOR_CHANGE_MODE
440 | REGULATOR_CHANGE_STATUS, 447 | REGULATOR_CHANGE_STATUS,
441 }, 448 },
442 .num_consumer_supplies = 1, 449 .num_consumer_supplies = ARRAY_SIZE(pandora_usb_phy_supply),
443 .consumer_supplies = &pandora_usb_phy_supply, 450 .consumer_supplies = pandora_usb_phy_supply,
444}; 451};
445 452
446/* VAUX4 for ads7846 and nubs */ 453/* VAUX4 for ads7846 and nubs */
@@ -469,8 +476,8 @@ static struct regulator_init_data pandora_vsim = {
469 .valid_ops_mask = REGULATOR_CHANGE_MODE 476 .valid_ops_mask = REGULATOR_CHANGE_MODE
470 | REGULATOR_CHANGE_STATUS, 477 | REGULATOR_CHANGE_STATUS,
471 }, 478 },
472 .num_consumer_supplies = 1, 479 .num_consumer_supplies = ARRAY_SIZE(pandora_adac_supply),
473 .consumer_supplies = &pandora_adac_supply, 480 .consumer_supplies = pandora_adac_supply,
474}; 481};
475 482
476/* Fixed regulator internal to Wifi module */ 483/* Fixed regulator internal to Wifi module */
@@ -478,8 +485,8 @@ static struct regulator_init_data pandora_vmmc3 = {
478 .constraints = { 485 .constraints = {
479 .valid_ops_mask = REGULATOR_CHANGE_STATUS, 486 .valid_ops_mask = REGULATOR_CHANGE_STATUS,
480 }, 487 },
481 .num_consumer_supplies = 1, 488 .num_consumer_supplies = ARRAY_SIZE(pandora_vmmc3_supply),
482 .consumer_supplies = &pandora_vmmc3_supply, 489 .consumer_supplies = pandora_vmmc3_supply,
483}; 490};
484 491
485static struct fixed_voltage_config pandora_vwlan = { 492static struct fixed_voltage_config pandora_vwlan = {
diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c
index 0c108a212ea..99be540dbab 100644
--- a/arch/arm/mach-omap2/board-omap3stalker.c
+++ b/arch/arm/mach-omap2/board-omap3stalker.c
@@ -206,12 +206,12 @@ static struct omap_dss_board_info omap3_stalker_dss_data = {
206 .default_device = &omap3_stalker_dvi_device, 206 .default_device = &omap3_stalker_dvi_device,
207}; 207};
208 208
209static struct regulator_consumer_supply omap3stalker_vmmc1_supply = { 209static struct regulator_consumer_supply omap3stalker_vmmc1_supply[] = {
210 .supply = "vmmc", 210 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
211}; 211};
212 212
213static struct regulator_consumer_supply omap3stalker_vsim_supply = { 213static struct regulator_consumer_supply omap3stalker_vsim_supply[] = {
214 .supply = "vmmc_aux", 214 REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
215}; 215};
216 216
217/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ 217/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
@@ -224,8 +224,8 @@ static struct regulator_init_data omap3stalker_vmmc1 = {
224 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE 224 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
225 | REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS, 225 | REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS,
226 }, 226 },
227 .num_consumer_supplies = 1, 227 .num_consumer_supplies = ARRAY_SIZE(omap3stalker_vmmc1_supply),
228 .consumer_supplies = &omap3stalker_vmmc1_supply, 228 .consumer_supplies = omap3stalker_vmmc1_supply,
229}; 229};
230 230
231/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */ 231/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
@@ -238,8 +238,8 @@ static struct regulator_init_data omap3stalker_vsim = {
238 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE 238 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
239 | REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS, 239 | REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS,
240 }, 240 },
241 .num_consumer_supplies = 1, 241 .num_consumer_supplies = ARRAY_SIZE(omap3stalker_vsim_supply),
242 .consumer_supplies = &omap3stalker_vsim_supply, 242 .consumer_supplies = omap3stalker_vsim_supply,
243}; 243};
244 244
245static struct omap2_hsmmc_info mmc[] = { 245static struct omap2_hsmmc_info mmc[] = {
@@ -403,8 +403,9 @@ static struct twl4030_codec_data omap3stalker_codec_data = {
403 .audio = &omap3stalker_audio_data, 403 .audio = &omap3stalker_audio_data,
404}; 404};
405 405
406static struct regulator_consumer_supply omap3_stalker_vdda_dac_supply = 406static struct regulator_consumer_supply omap3_stalker_vdda_dac_supply[] = {
407 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); 407 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
408};
408 409
409/* VDAC for DSS driving S-Video */ 410/* VDAC for DSS driving S-Video */
410static struct regulator_init_data omap3_stalker_vdac = { 411static struct regulator_init_data omap3_stalker_vdac = {
@@ -417,8 +418,8 @@ static struct regulator_init_data omap3_stalker_vdac = {
417 .valid_ops_mask = REGULATOR_CHANGE_MODE 418 .valid_ops_mask = REGULATOR_CHANGE_MODE
418 | REGULATOR_CHANGE_STATUS, 419 | REGULATOR_CHANGE_STATUS,
419 }, 420 },
420 .num_consumer_supplies = 1, 421 .num_consumer_supplies = ARRAY_SIZE(omap3_stalker_vdda_dac_supply),
421 .consumer_supplies = &omap3_stalker_vdda_dac_supply, 422 .consumer_supplies = omap3_stalker_vdda_dac_supply,
422}; 423};
423 424
424/* VPLL2 for digital video outputs */ 425/* VPLL2 for digital video outputs */
diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c
index 5f649faf737..ab5c37d9540 100644
--- a/arch/arm/mach-omap2/board-omap3touchbook.c
+++ b/arch/arm/mach-omap2/board-omap3touchbook.c
@@ -114,12 +114,12 @@ static struct omap_lcd_config omap3_touchbook_lcd_config __initdata = {
114 .ctrl_name = "internal", 114 .ctrl_name = "internal",
115}; 115};
116 116
117static struct regulator_consumer_supply touchbook_vmmc1_supply = { 117static struct regulator_consumer_supply touchbook_vmmc1_supply[] = {
118 .supply = "vmmc", 118 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
119}; 119};
120 120
121static struct regulator_consumer_supply touchbook_vsim_supply = { 121static struct regulator_consumer_supply touchbook_vsim_supply[] = {
122 .supply = "vmmc_aux", 122 REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
123}; 123};
124 124
125static struct gpio_led gpio_leds[]; 125static struct gpio_led gpio_leds[];
@@ -167,14 +167,18 @@ static struct twl4030_gpio_platform_data touchbook_gpio_data = {
167 .setup = touchbook_twl_gpio_setup, 167 .setup = touchbook_twl_gpio_setup,
168}; 168};
169 169
170static struct regulator_consumer_supply touchbook_vdac_supply = { 170static struct regulator_consumer_supply touchbook_vdac_supply[] = {
171{
171 .supply = "vdac", 172 .supply = "vdac",
172 .dev = &omap3_touchbook_lcd_device.dev, 173 .dev = &omap3_touchbook_lcd_device.dev,
174},
173}; 175};
174 176
175static struct regulator_consumer_supply touchbook_vdvi_supply = { 177static struct regulator_consumer_supply touchbook_vdvi_supply[] = {
178{
176 .supply = "vdvi", 179 .supply = "vdvi",
177 .dev = &omap3_touchbook_lcd_device.dev, 180 .dev = &omap3_touchbook_lcd_device.dev,
181},
178}; 182};
179 183
180/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ 184/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
@@ -188,8 +192,8 @@ static struct regulator_init_data touchbook_vmmc1 = {
188 | REGULATOR_CHANGE_MODE 192 | REGULATOR_CHANGE_MODE
189 | REGULATOR_CHANGE_STATUS, 193 | REGULATOR_CHANGE_STATUS,
190 }, 194 },
191 .num_consumer_supplies = 1, 195 .num_consumer_supplies = ARRAY_SIZE(touchbook_vmmc1_supply),
192 .consumer_supplies = &touchbook_vmmc1_supply, 196 .consumer_supplies = touchbook_vmmc1_supply,
193}; 197};
194 198
195/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */ 199/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
@@ -203,8 +207,8 @@ static struct regulator_init_data touchbook_vsim = {
203 | REGULATOR_CHANGE_MODE 207 | REGULATOR_CHANGE_MODE
204 | REGULATOR_CHANGE_STATUS, 208 | REGULATOR_CHANGE_STATUS,
205 }, 209 },
206 .num_consumer_supplies = 1, 210 .num_consumer_supplies = ARRAY_SIZE(touchbook_vsim_supply),
207 .consumer_supplies = &touchbook_vsim_supply, 211 .consumer_supplies = touchbook_vsim_supply,
208}; 212};
209 213
210/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ 214/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
@@ -217,8 +221,8 @@ static struct regulator_init_data touchbook_vdac = {
217 .valid_ops_mask = REGULATOR_CHANGE_MODE 221 .valid_ops_mask = REGULATOR_CHANGE_MODE
218 | REGULATOR_CHANGE_STATUS, 222 | REGULATOR_CHANGE_STATUS,
219 }, 223 },
220 .num_consumer_supplies = 1, 224 .num_consumer_supplies = ARRAY_SIZE(touchbook_vdac_supply),
221 .consumer_supplies = &touchbook_vdac_supply, 225 .consumer_supplies = touchbook_vdac_supply,
222}; 226};
223 227
224/* VPLL2 for digital video outputs */ 228/* VPLL2 for digital video outputs */
@@ -232,8 +236,8 @@ static struct regulator_init_data touchbook_vpll2 = {
232 .valid_ops_mask = REGULATOR_CHANGE_MODE 236 .valid_ops_mask = REGULATOR_CHANGE_MODE
233 | REGULATOR_CHANGE_STATUS, 237 | REGULATOR_CHANGE_STATUS,
234 }, 238 },
235 .num_consumer_supplies = 1, 239 .num_consumer_supplies = ARRAY_SIZE(touchbook_vdvi_supply),
236 .consumer_supplies = &touchbook_vdvi_supply, 240 .consumer_supplies = touchbook_vdvi_supply,
237}; 241};
238 242
239static struct twl4030_usb_data touchbook_usb_data = { 243static struct twl4030_usb_data touchbook_usb_data = {
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index 0cfe2005cb5..6d2372b98e4 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -183,23 +183,19 @@ static struct omap2_hsmmc_info mmc[] = {
183}; 183};
184 184
185static struct regulator_consumer_supply omap4_panda_vmmc_supply[] = { 185static struct regulator_consumer_supply omap4_panda_vmmc_supply[] = {
186 { 186 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
187 .supply = "vmmc",
188 .dev_name = "omap_hsmmc.0",
189 },
190}; 187};
191 188
192static struct regulator_consumer_supply omap4_panda_vmmc5_supply = { 189static struct regulator_consumer_supply omap4_panda_vmmc5_supply[] = {
193 .supply = "vmmc", 190 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.4"),
194 .dev_name = "omap_hsmmc.4",
195}; 191};
196 192
197static struct regulator_init_data panda_vmmc5 = { 193static struct regulator_init_data panda_vmmc5 = {
198 .constraints = { 194 .constraints = {
199 .valid_ops_mask = REGULATOR_CHANGE_STATUS, 195 .valid_ops_mask = REGULATOR_CHANGE_STATUS,
200 }, 196 },
201 .num_consumer_supplies = 1, 197 .num_consumer_supplies = ARRAY_SIZE(omap4_panda_vmmc5_supply),
202 .consumer_supplies = &omap4_panda_vmmc5_supply, 198 .consumer_supplies = omap4_panda_vmmc5_supply,
203}; 199};
204 200
205static struct fixed_voltage_config panda_vwlan = { 201static struct fixed_voltage_config panda_vwlan = {
@@ -312,7 +308,7 @@ static struct regulator_init_data omap4_panda_vmmc = {
312 | REGULATOR_CHANGE_MODE 308 | REGULATOR_CHANGE_MODE
313 | REGULATOR_CHANGE_STATUS, 309 | REGULATOR_CHANGE_STATUS,
314 }, 310 },
315 .num_consumer_supplies = 1, 311 .num_consumer_supplies = ARRAY_SIZE(omap4_panda_vmmc_supply),
316 .consumer_supplies = omap4_panda_vmmc_supply, 312 .consumer_supplies = omap4_panda_vmmc_supply,
317}; 313};
318 314
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
index 175e1ab2b04..30c7556d251 100644
--- a/arch/arm/mach-omap2/board-overo.c
+++ b/arch/arm/mach-omap2/board-overo.c
@@ -74,15 +74,16 @@
74 defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE) 74 defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
75 75
76/* fixed regulator for ads7846 */ 76/* fixed regulator for ads7846 */
77static struct regulator_consumer_supply ads7846_supply = 77static struct regulator_consumer_supply ads7846_supply[] = {
78 REGULATOR_SUPPLY("vcc", "spi1.0"); 78 REGULATOR_SUPPLY("vcc", "spi1.0"),
79};
79 80
80static struct regulator_init_data vads7846_regulator = { 81static struct regulator_init_data vads7846_regulator = {
81 .constraints = { 82 .constraints = {
82 .valid_ops_mask = REGULATOR_CHANGE_STATUS, 83 .valid_ops_mask = REGULATOR_CHANGE_STATUS,
83 }, 84 },
84 .num_consumer_supplies = 1, 85 .num_consumer_supplies = ARRAY_SIZE(ads7846_supply),
85 .consumer_supplies = &ads7846_supply, 86 .consumer_supplies = ads7846_supply,
86}; 87};
87 88
88static struct fixed_voltage_config vads7846 = { 89static struct fixed_voltage_config vads7846 = {
@@ -264,8 +265,9 @@ static struct omap_dss_board_info overo_dss_data = {
264 .default_device = &overo_dvi_device, 265 .default_device = &overo_dvi_device,
265}; 266};
266 267
267static struct regulator_consumer_supply overo_vdda_dac_supply = 268static struct regulator_consumer_supply overo_vdda_dac_supply[] = {
268 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); 269 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
270};
269 271
270static struct regulator_consumer_supply overo_vdds_dsi_supply[] = { 272static struct regulator_consumer_supply overo_vdds_dsi_supply[] = {
271 REGULATOR_SUPPLY("vdds_dsi", "omapdss"), 273 REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
@@ -319,8 +321,8 @@ static struct omap2_hsmmc_info mmc[] = {
319 {} /* Terminator */ 321 {} /* Terminator */
320}; 322};
321 323
322static struct regulator_consumer_supply overo_vmmc1_supply = { 324static struct regulator_consumer_supply overo_vmmc1_supply[] = {
323 .supply = "vmmc", 325 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
324}; 326};
325 327
326#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE) 328#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
@@ -447,8 +449,8 @@ static struct regulator_init_data overo_vmmc1 = {
447 | REGULATOR_CHANGE_MODE 449 | REGULATOR_CHANGE_MODE
448 | REGULATOR_CHANGE_STATUS, 450 | REGULATOR_CHANGE_STATUS,
449 }, 451 },
450 .num_consumer_supplies = 1, 452 .num_consumer_supplies = ARRAY_SIZE(overo_vmmc1_supply),
451 .consumer_supplies = &overo_vmmc1_supply, 453 .consumer_supplies = overo_vmmc1_supply,
452}; 454};
453 455
454/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ 456/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
@@ -461,8 +463,8 @@ static struct regulator_init_data overo_vdac = {
461 .valid_ops_mask = REGULATOR_CHANGE_MODE 463 .valid_ops_mask = REGULATOR_CHANGE_MODE
462 | REGULATOR_CHANGE_STATUS, 464 | REGULATOR_CHANGE_STATUS,
463 }, 465 },
464 .num_consumer_supplies = 1, 466 .num_consumer_supplies = ARRAY_SIZE(overo_vdda_dac_supply),
465 .consumer_supplies = &overo_vdda_dac_supply, 467 .consumer_supplies = overo_vdda_dac_supply,
466}; 468};
467 469
468/* VPLL2 for digital video outputs */ 470/* VPLL2 for digital video outputs */
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c
index 990366726c5..5e559dda3cc 100644
--- a/arch/arm/mach-omap2/board-rx51-peripherals.c
+++ b/arch/arm/mach-omap2/board-rx51-peripherals.c
@@ -358,14 +358,17 @@ static struct omap2_hsmmc_info mmc[] __initdata = {
358 {} /* Terminator */ 358 {} /* Terminator */
359}; 359};
360 360
361static struct regulator_consumer_supply rx51_vmmc1_supply = 361static struct regulator_consumer_supply rx51_vmmc1_supply[] = {
362 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"); 362 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
363};
363 364
364static struct regulator_consumer_supply rx51_vaux3_supply = 365static struct regulator_consumer_supply rx51_vaux3_supply[] = {
365 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"); 366 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"),
367};
366 368
367static struct regulator_consumer_supply rx51_vsim_supply = 369static struct regulator_consumer_supply rx51_vsim_supply[] = {
368 REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.1"); 370 REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.1"),
371};
369 372
370static struct regulator_consumer_supply rx51_vmmc2_supplies[] = { 373static struct regulator_consumer_supply rx51_vmmc2_supplies[] = {
371 /* tlv320aic3x analog supplies */ 374 /* tlv320aic3x analog supplies */
@@ -452,8 +455,8 @@ static struct regulator_init_data rx51_vaux3_mmc = {
452 | REGULATOR_CHANGE_MODE 455 | REGULATOR_CHANGE_MODE
453 | REGULATOR_CHANGE_STATUS, 456 | REGULATOR_CHANGE_STATUS,
454 }, 457 },
455 .num_consumer_supplies = 1, 458 .num_consumer_supplies = ARRAY_SIZE(rx51_vaux3_supply),
456 .consumer_supplies = &rx51_vaux3_supply, 459 .consumer_supplies = rx51_vaux3_supply,
457}; 460};
458 461
459static struct regulator_init_data rx51_vaux4 = { 462static struct regulator_init_data rx51_vaux4 = {
@@ -479,8 +482,8 @@ static struct regulator_init_data rx51_vmmc1 = {
479 | REGULATOR_CHANGE_MODE 482 | REGULATOR_CHANGE_MODE
480 | REGULATOR_CHANGE_STATUS, 483 | REGULATOR_CHANGE_STATUS,
481 }, 484 },
482 .num_consumer_supplies = 1, 485 .num_consumer_supplies = ARRAY_SIZE(rx51_vmmc1_supply),
483 .consumer_supplies = &rx51_vmmc1_supply, 486 .consumer_supplies = rx51_vmmc1_supply,
484}; 487};
485 488
486static struct regulator_init_data rx51_vmmc2 = { 489static struct regulator_init_data rx51_vmmc2 = {
@@ -511,8 +514,8 @@ static struct regulator_init_data rx51_vsim = {
511 .valid_ops_mask = REGULATOR_CHANGE_MODE 514 .valid_ops_mask = REGULATOR_CHANGE_MODE
512 | REGULATOR_CHANGE_STATUS, 515 | REGULATOR_CHANGE_STATUS,
513 }, 516 },
514 .num_consumer_supplies = 1, 517 .num_consumer_supplies = ARRAY_SIZE(rx51_vsim_supply),
515 .consumer_supplies = &rx51_vsim_supply, 518 .consumer_supplies = rx51_vsim_supply,
516}; 519};
517 520
518static struct regulator_init_data rx51_vdac = { 521static struct regulator_init_data rx51_vdac = {
@@ -526,7 +529,7 @@ static struct regulator_init_data rx51_vdac = {
526 .valid_ops_mask = REGULATOR_CHANGE_MODE 529 .valid_ops_mask = REGULATOR_CHANGE_MODE
527 | REGULATOR_CHANGE_STATUS, 530 | REGULATOR_CHANGE_STATUS,
528 }, 531 },
529 .num_consumer_supplies = 1, 532 .num_consumer_supplies = ARRAY_SIZE(rx51_vdac_supply),
530 .consumer_supplies = rx51_vdac_supply, 533 .consumer_supplies = rx51_vdac_supply,
531}; 534};
532 535
diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c
index 118c6f53c5e..cb012e16ba0 100644
--- a/arch/arm/mach-omap2/board-zoom-peripherals.c
+++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
@@ -105,21 +105,20 @@ static struct twl4030_keypad_data zoom_kp_twl4030_data = {
105 .rep = 1, 105 .rep = 1,
106}; 106};
107 107
108static struct regulator_consumer_supply zoom_vmmc1_supply = { 108static struct regulator_consumer_supply zoom_vmmc1_supply[] = {
109 .supply = "vmmc", 109 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
110}; 110};
111 111
112static struct regulator_consumer_supply zoom_vsim_supply = { 112static struct regulator_consumer_supply zoom_vsim_supply[] = {
113 .supply = "vmmc_aux", 113 REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
114}; 114};
115 115
116static struct regulator_consumer_supply zoom_vmmc2_supply = { 116static struct regulator_consumer_supply zoom_vmmc2_supply[] = {
117 .supply = "vmmc", 117 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"),
118}; 118};
119 119
120static struct regulator_consumer_supply zoom_vmmc3_supply = { 120static struct regulator_consumer_supply zoom_vmmc3_supply[] = {
121 .supply = "vmmc", 121 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.2"),
122 .dev_name = "omap_hsmmc.2",
123}; 122};
124 123
125/* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */ 124/* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */
@@ -133,8 +132,8 @@ static struct regulator_init_data zoom_vmmc1 = {
133 | REGULATOR_CHANGE_MODE 132 | REGULATOR_CHANGE_MODE
134 | REGULATOR_CHANGE_STATUS, 133 | REGULATOR_CHANGE_STATUS,
135 }, 134 },
136 .num_consumer_supplies = 1, 135 .num_consumer_supplies = ARRAY_SIZE(zoom_vmmc1_supply),
137 .consumer_supplies = &zoom_vmmc1_supply, 136 .consumer_supplies = zoom_vmmc1_supply,
138}; 137};
139 138
140/* VMMC2 for MMC2 card */ 139/* VMMC2 for MMC2 card */
@@ -148,8 +147,8 @@ static struct regulator_init_data zoom_vmmc2 = {
148 .valid_ops_mask = REGULATOR_CHANGE_MODE 147 .valid_ops_mask = REGULATOR_CHANGE_MODE
149 | REGULATOR_CHANGE_STATUS, 148 | REGULATOR_CHANGE_STATUS,
150 }, 149 },
151 .num_consumer_supplies = 1, 150 .num_consumer_supplies = ARRAY_SIZE(zoom_vmmc2_supply),
152 .consumer_supplies = &zoom_vmmc2_supply, 151 .consumer_supplies = zoom_vmmc2_supply,
153}; 152};
154 153
155/* VSIM for OMAP VDD_MMC1A (i/o for DAT4..DAT7) */ 154/* VSIM for OMAP VDD_MMC1A (i/o for DAT4..DAT7) */
@@ -163,16 +162,16 @@ static struct regulator_init_data zoom_vsim = {
163 | REGULATOR_CHANGE_MODE 162 | REGULATOR_CHANGE_MODE
164 | REGULATOR_CHANGE_STATUS, 163 | REGULATOR_CHANGE_STATUS,
165 }, 164 },
166 .num_consumer_supplies = 1, 165 .num_consumer_supplies = ARRAY_SIZE(zoom_vsim_supply),
167 .consumer_supplies = &zoom_vsim_supply, 166 .consumer_supplies = zoom_vsim_supply,
168}; 167};
169 168
170static struct regulator_init_data zoom_vmmc3 = { 169static struct regulator_init_data zoom_vmmc3 = {
171 .constraints = { 170 .constraints = {
172 .valid_ops_mask = REGULATOR_CHANGE_STATUS, 171 .valid_ops_mask = REGULATOR_CHANGE_STATUS,
173 }, 172 },
174 .num_consumer_supplies = 1, 173 .num_consumer_supplies = ARRAY_SIZE(zoom_vmmc3_supply),
175 .consumer_supplies = &zoom_vmmc3_supply, 174 .consumer_supplies = zoom_vmmc3_supply,
176}; 175};
177 176
178static struct fixed_voltage_config zoom_vwlan = { 177static struct fixed_voltage_config zoom_vwlan = {
@@ -232,8 +231,9 @@ static struct regulator_consumer_supply zoom_vpll2_supplies[] = {
232 REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"), 231 REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
233}; 232};
234 233
235static struct regulator_consumer_supply zoom_vdda_dac_supply = 234static struct regulator_consumer_supply zoom_vdda_dac_supply[] = {
236 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); 235 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
236};
237 237
238static struct regulator_init_data zoom_vpll2 = { 238static struct regulator_init_data zoom_vpll2 = {
239 .constraints = { 239 .constraints = {
@@ -257,8 +257,8 @@ static struct regulator_init_data zoom_vdac = {
257 .valid_ops_mask = REGULATOR_CHANGE_MODE 257 .valid_ops_mask = REGULATOR_CHANGE_MODE
258 | REGULATOR_CHANGE_STATUS, 258 | REGULATOR_CHANGE_STATUS,
259 }, 259 },
260 .num_consumer_supplies = 1, 260 .num_consumer_supplies = ARRAY_SIZE(zoom_vdda_dac_supply),
261 .consumer_supplies = &zoom_vdda_dac_supply, 261 .consumer_supplies = zoom_vdda_dac_supply,
262}; 262};
263 263
264static int zoom_twl_gpio_setup(struct device *dev, 264static int zoom_twl_gpio_setup(struct device *dev,