mmc: spi: Convert to use GPIO descriptors
[linux-2.6-microblaze.git] / arch / arm / mach-ep93xx / simone.c
index 41aa575..80ccb98 100644 (file)
@@ -25,6 +25,7 @@
 #include <linux/platform_data/video-ep93xx.h>
 #include <linux/platform_data/spi-ep93xx.h>
 #include <linux/gpio.h>
+#include <linux/gpio/machine.h>
 
 #include <mach/hardware.h>
 #include <mach/gpio-ep93xx.h>
@@ -45,9 +46,15 @@ static struct ep93xxfb_mach_info __initdata simone_fb_info = {
 static struct mmc_spi_platform_data simone_mmc_spi_data = {
        .detect_delay   = 500,
        .ocr_mask       = MMC_VDD_32_33 | MMC_VDD_33_34,
-       .flags          = MMC_SPI_USE_CD_GPIO,
-       .cd_gpio        = EP93XX_GPIO_LINE_EGPIO0,
-       .cd_debounce    = 1,
+};
+
+static struct gpiod_lookup_table simone_mmc_spi_gpio_table = {
+       .dev_id = "mmc_spi.0", /* "mmc_spi" @ CS0 */
+       .table = {
+               /* Card detect */
+               GPIO_LOOKUP_IDX("A", 0, NULL, 0, GPIO_ACTIVE_LOW),
+               { },
+       },
 };
 
 static struct spi_board_info simone_spi_devices[] __initdata = {
@@ -105,6 +112,7 @@ static void __init simone_init_machine(void)
        ep93xx_register_fb(&simone_fb_info);
        ep93xx_register_i2c(simone_i2c_board_info,
                            ARRAY_SIZE(simone_i2c_board_info));
+       gpiod_add_lookup_table(&simone_mmc_spi_gpio_table);
        ep93xx_register_spi(&simone_spi_info, simone_spi_devices,
                            ARRAY_SIZE(simone_spi_devices));
        simone_register_audio();