Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[linux-2.6-block.git] / arch / arm / mach-pxa / littleton.c
index 9960ea158829b88b2bf572b4979f27bc0f53f5ac..39db4898dc4a4cf45cb753fc0f8b5e22305f4743 100644 (file)
@@ -20,7 +20,7 @@
 #include <linux/delay.h>
 #include <linux/platform_device.h>
 #include <linux/clk.h>
-#include <linux/gpio.h>
+#include <linux/gpio/machine.h>
 #include <linux/spi/spi.h>
 #include <linux/spi/pxa2xx_spi.h>
 #include <linux/smc91x.h>
@@ -51,8 +51,6 @@
 
 #include "generic.h"
 
-#define GPIO_MMC1_CARD_DETECT  mfp_to_gpio(MFP_PIN_GPIO15)
-
 /* Littleton MFP configurations */
 static mfp_cfg_t littleton_mfp_cfg[] __initdata = {
        /* LCD */
@@ -278,13 +276,21 @@ static inline void littleton_init_keypad(void) {}
 static struct pxamci_platform_data littleton_mci_platform_data = {
        .detect_delay_ms        = 200,
        .ocr_mask               = MMC_VDD_32_33 | MMC_VDD_33_34,
-       .gpio_card_detect       = GPIO_MMC1_CARD_DETECT,
-       .gpio_card_ro           = -1,
-       .gpio_power             = -1,
+};
+
+static struct gpiod_lookup_table littleton_mci_gpio_table = {
+       .dev_id = "pxa2xx-mci.0",
+       .table = {
+               /* Card detect on MFP (gpio-pxa) GPIO 15 */
+               GPIO_LOOKUP("gpio-pxa", MFP_PIN_GPIO15,
+                           "cd", GPIO_ACTIVE_LOW),
+               { },
+       },
 };
 
 static void __init littleton_init_mmc(void)
 {
+       gpiod_add_lookup_table(&littleton_mci_gpio_table);
        pxa_set_mci_info(&littleton_mci_platform_data);
 }
 #else