Mauro Carvalho Chehab 6a9077f
--- linus.orig/arch/arm/mach-exynos/mach-smdkv310.c
Mauro Carvalho Chehab 6a9077f
+++ linus/arch/arm/mach-exynos/mach-smdkv310.c
Mauro Carvalho Chehab 6a9077f
@@ -14,6 +14,8 @@
Mauro Carvalho Chehab 6a9077f
 #include <linux/lcd.h>
Mauro Carvalho Chehab 6a9077f
 #include <linux/mmc/host.h>
Mauro Carvalho Chehab 6a9077f
 #include <linux/platform_device.h>
Mauro Carvalho Chehab 6a9077f
+#include <linux/regulator/fixed.h>
Mauro Carvalho Chehab 6a9077f
+#include <linux/regulator/machine.h>
Mauro Carvalho Chehab 6a9077f
 #include <linux/smsc911x.h>
Mauro Carvalho Chehab 6a9077f
 #include <linux/io.h>
Mauro Carvalho Chehab 6a9077f
 #include <linux/i2c.h>
Mauro Carvalho Chehab 6a9077f
@@ -380,6 +382,14 @@ static void __init smdkv310_reserve(void
Mauro Carvalho Chehab 6a9077f
 	s5p_mfc_reserve_mem(0x43000000, 8 << 20, 0x51000000, 8 << 20);
Mauro Carvalho Chehab 6a9077f
 }
Mauro Carvalho Chehab 6a9077f
 
Mauro Carvalho Chehab 6a9077f
+static struct regulator_consumer_supply vddmmc_consumers[] __devinitdata = {
Mauro Carvalho Chehab 6a9077f
+	REGULATOR_SUPPLY("vmmc", "s3c-sdhci.0"),
Mauro Carvalho Chehab 6a9077f
+	REGULATOR_SUPPLY("vmmc", "s3c-sdhci.1"),
Mauro Carvalho Chehab 6a9077f
+	REGULATOR_SUPPLY("vmmc", "s3c-sdhci.2"),
Mauro Carvalho Chehab 6a9077f
+	REGULATOR_SUPPLY("vdd33a", "smsc911x"),
Mauro Carvalho Chehab 6a9077f
+	REGULATOR_SUPPLY("vddvario", "smsc911x"),
Mauro Carvalho Chehab 6a9077f
+};
Mauro Carvalho Chehab 6a9077f
+
Mauro Carvalho Chehab 6a9077f
 static void __init smdkv310_machine_init(void)
Mauro Carvalho Chehab 6a9077f
 {
Mauro Carvalho Chehab 6a9077f
 	s3c_i2c1_set_platdata(NULL);
Mauro Carvalho Chehab 6a9077f
@@ -387,6 +397,9 @@ static void __init smdkv310_machine_init
Mauro Carvalho Chehab 6a9077f
 
Mauro Carvalho Chehab 6a9077f
 	smdkv310_smsc911x_init();
Mauro Carvalho Chehab 6a9077f
 
Mauro Carvalho Chehab 6a9077f
+	regulator_register_always_on(0, "fixed-3.3V", vddmmc_consumers,
Mauro Carvalho Chehab 6a9077f
+				     ARRAY_SIZE(vddmmc_consumers), 3300000);
Mauro Carvalho Chehab 6a9077f
+
Mauro Carvalho Chehab 6a9077f
 	s3c_sdhci0_set_platdata(&smdkv310_hsmmc0_pdata);
Mauro Carvalho Chehab 6a9077f
 	s3c_sdhci1_set_platdata(&smdkv310_hsmmc1_pdata);
Mauro Carvalho Chehab 6a9077f
 	s3c_sdhci2_set_platdata(&smdkv310_hsmmc2_pdata);