]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-omap1/board-nokia770.c
Revert "ARM: OMAP: Get rid of controller vs slot confusion, initialize MMC devices...
[linux-2.6-omap-h63xx.git] / arch / arm / mach-omap1 / board-nokia770.c
index 7b28f4da214a63a907e637cf5888018698a3b8f5..6e96a9d81ad739c046e009a016c9963010f7d962 100644 (file)
@@ -216,65 +216,26 @@ static struct omap_usb_config nokia770_usb_config __initdata = {
        .pins[0]        = 6,
 };
 
-#if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE)
-
-#define NOKIA770_GPIO_MMC_POWER                41
-#define NOKIA770_GPIO_MMC_SWITCH       23
-
-static int nokia770_mmc_set_power(struct device *dev, int slot, int power_on,
-                               int vdd)
-{
-       if (power_on)
-               gpio_set_value(NOKIA770_GPIO_MMC_POWER, 1);
-       else
-               gpio_set_value(NOKIA770_GPIO_MMC_POWER, 0);
-
-       return 0;
-}
-
-static int nokia770_mmc_get_cover_state(struct device *dev, int slot)
-{
-       return gpio_get_value(NOKIA770_GPIO_MMC_SWITCH);
-}
-
-static struct omap_mmc_platform_data nokia770_mmc2_data = {
-       .nr_slots                       = 1,
-       .dma_mask                       = 0xffffffff,
+static struct omap_mmc_platform_data nokia770_mmc_data = {
+       .nr_slots                       = 2,
        .slots[0]       = {
-               .set_power              = nokia770_mmc_set_power,
-               .get_cover_state        = nokia770_mmc_get_cover_state,
+               .enabled                = 0,
+               .wire4                  = 0,
+               .wp_pin                 = -1,
+               .power_pin              = -1,
+               .switch_pin             = -1,
+               .name                   = "mmcblk",
+       },
+       .slots[1]       = {
+               .enabled                = 0,
+               .wire4                  = 0,
+               .wp_pin                 = -1,
+               .power_pin              = -1,
+               .switch_pin             = -1,
                .name                   = "mmcblk",
        },
-};
-
-static struct omap_mmc_platform_data *nokia770_mmc_data[OMAP16XX_NR_MMC];
-
-static void __init nokia770_mmc_init(void)
-{
-       int ret;
-
-       ret = gpio_request(NOKIA770_GPIO_MMC_POWER, "MMC power");
-       if (ret < 0)
-               return;
-       gpio_direction_output(NOKIA770_GPIO_MMC_POWER, 0);
-
-       ret = gpio_request(NOKIA770_GPIO_MMC_SWITCH, "MMC cover");
-       if (ret < 0) {
-               gpio_free(NOKIA770_GPIO_MMC_POWER);
-               return;
-       }
-       gpio_direction_input(NOKIA770_GPIO_MMC_SWITCH);
-
-       /* Only the second MMC controller is used */
-       nokia770_mmc_data[1] = &nokia770_mmc2_data;
-       omap1_init_mmc(nokia770_mmc_data, OMAP16XX_NR_MMC);
-}
 
-#else
-static inline void nokia770_mmc_init(void)
-{
-}
-#endif
+};
 
 static struct omap_board_config_kernel nokia770_config[] __initdata = {
        { OMAP_TAG_USB,         NULL },
@@ -421,7 +382,7 @@ static void __init omap_nokia770_init(void)
        hwa742_dev_init();
        ads7846_dev_init();
        mipid_dev_init();
-       nokia770_mmc_init();
+       omap1_init_mmc(&nokia770_mmc_data);
 }
 
 static void __init omap_nokia770_map_io(void)