diff --git a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c
index 17a07e6acface09f987648bb772b478ad5f0d93b..ab615e78b7984c57af5810f24a30b356db51aeef 100644
--- a/arch/arm/mach-realview/core.c
+++ b/arch/arm/mach-realview/core.c
@@ -222,6 +222,9 @@ arch_initcall(realview_i2c_init);
 
 #define REALVIEW_SYSMCI	(__io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_MCI_OFFSET)
 
+/*
+ * This is only used if GPIOLIB support is disabled
+ */
 static unsigned int realview_mmc_status(struct device *dev)
 {
 	struct amba_device *adev = container_of(dev, struct amba_device, dev);
@@ -238,15 +241,15 @@ static unsigned int realview_mmc_status(struct device *dev)
 struct mmc_platform_data realview_mmc0_plat_data = {
 	.ocr_mask	= MMC_VDD_32_33|MMC_VDD_33_34,
 	.status		= realview_mmc_status,
-	.gpio_wp	= -1,
-	.gpio_cd	= -1,
+	.gpio_wp	= 17,
+	.gpio_cd	= 16,
 };
 
 struct mmc_platform_data realview_mmc1_plat_data = {
 	.ocr_mask	= MMC_VDD_32_33|MMC_VDD_33_34,
 	.status		= realview_mmc_status,
-	.gpio_wp	= -1,
-	.gpio_cd	= -1,
+	.gpio_wp	= 19,
+	.gpio_cd	= 18,
 };
 
 /*